Как сохранить pandas данных в формате csv в файле csv - PullRequest
0 голосов
/ 18 января 2020

Я новичок в соскобе и 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')


Ответы [ 2 ]

1 голос
/ 18 января 2020

Вам необходимо преобразовать список фреймов данных в один фрейм данных, а затем экспортировать его в CSV-файл.

wikitable = wikitables[0]

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

wikitable.to_csv('wikitable.csv')
0 голосов
/ 18 января 2020

Вы забыли

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