如何在 csv 文件中存储 pandas 数据帧信息

How to store pandas dataframe information in a csv file

我是抓取和 python 的新手。我正试图从这个 URL: https://en.wikipedia.org/wiki/List_of_Game_of_Thrones_episodes 中抓取多个 tables。我进行了抓取,现在我正在尝试将数据框保存到 csv 文件中。我试过了,但它只存储了页面中的第一个 table。

代码:

from pandas.io.html import read_html
page = 'https://en.wikipedia.org/wiki/List_of_Game_of_Thrones_episodes'

wikitables = read_html(page, index_col=0, attrs={"class":"wikitable plainrowheaders wikiepisodetable"})

print ("Extracted {num} wikitables".format(num=len(wikitables)))



for line in range(7):
  df= pd.DataFrame(wikitables[line].head())
  df.to_csv('file1.csv')


你忘了

import pandas as pd

但您不需要它,因为 read_html 提供了数据帧列表,您不必将其转换为数据帧。可以直接写。

from pandas.io.html import read_html

url = 'https://en.wikipedia.org/wiki/List_of_Game_of_Thrones_episodes'

wikitables = read_html(url, index_col=0, attrs={"class":"wikitable plainrowheaders wikiepisodetable"})

print("Extracted {num} wikitables".format(num=len(wikitables)))

for i, dataframe in enumerate(wikitables):
    dataframe.to_csv('file{}.csv'.format(i))

您需要将数据帧列表重新整形为单个数据帧,然后需要将其导出到 csv 文件。

wikitable = wikitables[0]

for i in range(1,len(wikitables)):
  wikitable = wikitable.append(wikitables[i],sort=True)

wikitable.to_csv('wikitable.csv')