2

我有这个代码:

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'

有谁能够帮我?

4

2 回答 2

3

pd.read_html返回数据帧列表,您需要使用索引器来获取第一个数据帧。

利用:

df = pd.read_html(str(table))[0]
于 2018-06-28T20:20:18.410 回答
2

pandas.read_html文档中: Read HTML tables into a list of DataFrame objects.

所以,df是一个数据框列表。如果您希望只有一个,它可能对您来说是安全的df[0].to_excel...

于 2018-06-28T20:19:06.730 回答