Python AttributeError: 'list' object has no attribute 'to_csv'

Python AttributeError: 'list' object has no attribute 'to_csv'

我的代码目前遇到错误,我不知道为什么。我原本以为是因为我无法保存一个包含连字符的 csv 文件,但事实并非如此。有没有人对可能导致问题的原因有任何建议。我的代码如下:

import pandas as pd
import requests

query_set = ["points-per-game"]

for query in query_set:
    url = 'https://www.teamrankings.com/ncaa-basketball/stat/' + str(query)
    html = requests.get(url).content
    df_list = pd.read_html(html)
    print(df_list)

    df_list.to_csv(str(query) + "stat.csv", encoding="utf-8")

函数 pd.read_html returns 在 HTML 源中找到的数据帧列表。使用 df_list[0] 获取作为此列表第一个元素的 DataFrame。

read_html()方法returns数据帧列表,而不是单个数据帧:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_html.html

您需要在每个条目上遍历 df_list 和 运行 to_csv,如下所示:

import pandas as pd import requests

query_set = ["points-per-game"]

for query in query_set:
    url = 'https://www.teamrankings.com/ncaa-basketball/stat/' + str(query)
    html = requests.get(url).content
    df_list = pd.read_html(html)
    print(df_list)

    for current_df in df_list:
      current_df.to_csv(str(query) + "stat.csv", encoding="utf-8")
      print(current_df)