2017-11-24 11 views
3

こんにちは、私はこのコードを擦って新しいですが、これは完全に動作しますが、CSVファイルの最後の行に印刷しています。なぜコンソール上でも値を表示し、すべての行を印刷しています。パンダで空のデータフレーム

import bs4 as bs 
import urllib 
import pandas as pd 
dfs = pd.read_html('http://www.espn.com/mlb/team/roster/_/name/nyy/new-york-yankees/' ,header= 0) 

for df in dfs: 
    df.to_csv('losangeles.csv', sep='\t',encoding='utf-8') 

答えて

0

ファイルを上書きするときに問題があります。常にdfを同じfilenameに書き込んでください。ソリューションは一意のファイル名を作成します。たとえば、次のようになります。カウントを加算する:enumerate

for i, df in enumerate(dfs): 
    df.to_csv('losangeles_{}.csv'.format(i), sep='\t',encoding='utf-8') 
+0

はありがとうございました。 read_htmlで複数のURLをどうすればよいですか? –

+1

私は['url1'、 'url2']の中で 'for loop 'が必要だと思います:dfs = pd.read_html(u)' – jezrael

1

DataFrameを反復しないでください。実際には、各行が取得され、同じファイルに保存されます。

そう、一つのファイルにすべてのデータフレームを保存するには:

dfs.to_csv('losangeles.csv', sep='\t',encoding='utf-8') 
+0

不正な 'dfs'はリストです。 –

関連する問題