【问题标题】:How to store pandas dataframe information in a csv file如何将熊猫数据框信息存储在 csv 文件中
【发布时间】:2020-01-18 09:01:16
【问题描述】:

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

代码:

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')


【问题讨论】:

  • I tries but failed,怎么回事?
  • 总是将完整的错误消息(从单词“Traceback”开始)作为文本(不是屏幕截图)放在有问题的(不是评论)中。还有其他有用的信息。
  • read_html 应该为您提供dataframes 的列表-因此您不必将其转换为dataframe,而是直接编写它-即。 wikitables[0].to_csv('file0.csv'), wikitables[1].to_csv('file1.csv')
  • 对不起。我会牢记它的未来

标签: python scrape


【解决方案1】:

您需要将数据框列表重塑为单个数据框,然后您需要将其导出为 csv 文件。

wikitable = wikitables[0]

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

wikitable.to_csv('wikitable.csv')

【讨论】:

  • 如果有帮助,请接受答案。它可以帮助整个社区识别正确的答案。您可以通过单击答案旁边的勾号来做到这一点。干杯。
  • 完成。抱歉,网络连接不好。
  • 你能支持我的问题吗?我被禁止提问。我改进了我的 qustion 格式并更正了拼写
【解决方案2】:

你忘了

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))

【讨论】:

    猜你喜欢
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    相关资源
    最近更新 更多