gpt4 book ai didi

python - 在 Python 中将维基百科表格抓取为 CSV

转载 作者:太空宇宙 更新时间:2023-11-04 02:05:44 24 4
gpt4 key购买 nike

我正在使用 python 从维基百科抓取一个表格。我已完成代码,但在将特定列提取到 CSV 并添加封闭的双撇号时遇到了一些问题。

我只想提取以下列名称:

Kode BPS, Nama, Ibu Kota, Populasi, Luas, Pulau.

这是表格的结果:

enter image description here

这是我的代码:

import requests
from bs4 import BeautifulSoup
import pandas as pd

URL = 'https://id.wikipedia.org/wiki/Demografi_Indonesia'
response = requests.get(URL)
soup = BeautifulSoup(response.text,'html.parser')

table = soup.find('table',{'class':'wikitable sortable'}).tbody
rows = table.find_all('tr')
columns = [v.text.replace('\n','') for v in rows[0].find_all('th')]

df = pd.DataFrame(columns=columns)

for i in range(1,len(rows)):
tds = rows[i].find_all('td')

if len(tds)==4:
values = [tds[0].text, tds[1].text, tds[2].text, tds[3].text.replace('\n',''.replace('\xa0',''))]
else:
values = [td.text.replace('\n',''.replace('\xa0','')) for td in tds]

df = df.append(pd.Series(values, index=columns), ignore_index=True)
#print(df)

df.to_csv(r'C:\Users\Desktop\'+'\\report.csv',index=False)

最佳答案

这个怎么样?

import pandas as pd
link = "https://id.wikipedia.org/wiki/Demografi_Indonesia"
tables = pd.read_html(link,header=0)[2]
df.to_csv(tables, sep='\t')

保持简单。

关于python - 在 Python 中将维基百科表格抓取为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54778873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com