从网页提取Dataframe导出CSV报错:'list'无'to_csv'属性
问题原因与解决方法
报错原因
pd.read_html() 函数会提取网页中所有的表格,并以DataFrame列表的形式返回,而不是单个DataFrame。你当前的代码里,变量df存储的是这个列表对象,而列表没有to_csv()方法,因此触发AttributeError。
解决步骤
- 确认列表中的表格数量:通过
len(df)查看网页包含多少个表格。 - 选取目标表格:使用索引(如
df[0]表示第一个表格)从列表中提取你需要的DataFrame。 - 调用导出方法:对选中的DataFrame执行
to_csv()。
修正后的代码
import pandas as pd url = "https://www2.bmf.com.br/pages/portal/bmfbovespa/lumis/lum-taxas-referenciais-bmf-ptBR.asp?Data=23/01/2023&Data1=20230123&slcTaxa=PRE" # 获取网页所有表格,返回DataFrame列表 dfs = pd.read_html(io=url, flavor='html5lib', encoding='latin1') # 选择第一个表格(根据实际需求调整索引) target_df = dfs[0] print(target_df) # 导出为CSV文件 target_df.to_csv(r'C:/Users/xport_dataframe.csv', index=False, header=True)
额外提示
如果不确定哪个表格是你需要的,可以循环打印所有表格进行确认:
for idx, table in enumerate(dfs): print(f"表格{idx}:") print(table) print("------------------------")
内容的提问来源于stack exchange,提问作者Jefferson Poletto
相关产品推荐
相关产品推荐

