【发布时间】:2021-06-11 00:45:22
【问题描述】:
我使用以下内容作为指导,并且对 python 是全新的,不知道如何为我的数据集实现它。
How to extract tables from websites in Python
我的问题是我想将下表转换为 CSV 格式,我认为上面的解决方案可以,但可惜,不行。
import requests
import pandas as pd
url = '
html = requests.get(url).content
df_list = pd.read_html(html)
df = df_list[-1]
print(df)
df.to_csv('my data.csv')
帕夫洛斯建议:
import csv, requests
from bs4 import BeautifulSoup
html = requests.get(url)
connection = html.text
soup = bs4.BeautifulSoup(connection, 'lxml')
list_header = []
for items in header:
try:
list_header.append(items.get_text())
except:
continue
HTML_data = soup.find_all("table")[0].find_all("tr")[1:]
for element in HTML_data:
sub_data = []
for sub_element in element:
try:
sub_data.append(sub_element.get_text())
except:
continue
data.append(sub_data)
dataFrame = pd.DataFrame(data = data, columns = list_header)
dataFrame.to_csv('Overflow.csv')
【问题讨论】:
-
由于您正在处理的是 XML,请使用
xmltodict和requests查看此答案:stackoverflow.com/a/62004135/42346 -
该页面上没有 HTML,只有通过 XSLT 重新设置样式以显示为 HTML 的 XML。但底层内容是 XML。