-2

我看到最近 Wikipedia 上的加拿大邮政编码列表表已从普通表格更改为常见的网格样式加拿大邮政编码列表:M

我尝试了不同的方式,但将其转换为 df 并不容易。

这个数据的问题是它的值没有被 tr 标签分隔。我想要一个旧格式的 df,比如旧格式

我的问题是-我可以直接使用 bs4 或任何 python 代码执行此操作,还是必须按原样导入表,然后修改 df. 如果有简单的方法请帮助我。

我的代码给出这样的结果:

import requests
from bs4 import BeautifulSoup
req = requests.get("https://en.wikipedia.org /wiki/List_of_postal_codes_of_Canada:_M")

soup = BeautifulSoup(req.content,'lxml')

table = soup.find_all('table')[0]

print(table.tr.text)
df = pd.read_html(str(table))
df=pd.DataFrame(df[0])

结果

4

1 回答 1

0
import pandas as pd

df = pd.read_html(
    "https://en.wikipedia.org/w/index.php?title=List_of_postal_codes_of_Canada:_M")[0]


df.to_csv("data.csv", index=False)

输出:在线查看

在此处输入图像描述

于 2020-03-28T07:59:33.853 回答