我有以下代码:
import pandas as pd
import requests
from bs4 import BeautifulSoup
res = requests.get("https://www.bankier.pl/gielda/notowania/akcje")
soup = BeautifulSoup(res.content,'lxml')
table = soup.find_all('table')[0]
df = pd.read_html(str(table))
writer = pd.ExcelWriter('test.xlsx',engine='xlsxwriter')
workbook = writer.book
df.to_excel(writer,sheet_name='quotations',startrow=0 , startcol=0)
运行后,出现以下错误:
AttributeError: 'list' object has no attribute 'to_excel'
有人可以帮助我吗?
答案 0 :(得分:2)
pd.read_html
返回数据帧列表,您需要使用索引器来获取第一个数据帧。
使用:
df = pd.read_html(str(table))[0]
答案 1 :(得分:1)
从pandas.read_html
documentation: Read HTML tables into a list of DataFrame objects.
因此,df
是数据帧的列表。如果您期望只有一个,则可以安全使用df[0].to_excel...