2017-11-23 18 views
1

メモリに読み込み、特定の特性をフィルタリングし、M csvファイルを追加して書き込みたいN個のcsvファイルがあります。入力ファイルと同じ形式です。Python:csvファイルからPandas Dataframeを読み込み、別のファイルに別のファイルとして出力します。

私は

df = pd.read_csv 
... 
for index, line in df.iterrows(): 
    with open(fullOutputFileName, 'a') as f: 
     line.to_csv(fullOutputFileName, index.None) 

で作業する場合私のような1つの出力1本の入力ラインのライン

attr1, attr2, attr3 

、何か得ることはありません:これはおそらくあるとして(

attr1 
attr2 
attr3 

をパンダシリーズがファイルシステムにどのように書き込まれるか)。

このタスクを実行するための他の方法はありますか(おそらく、Pandasなしで)?

+0

あなたのcsvファイルのサイズはどれくらいですか?パンダスの欠点は、すべてをメモリにロードしなければならないことです。これはcsvファイルが巨大であれば悪いことがありますが、小さなファイルでは問題ありません。 – DaveBensonPhillips

+0

が200 MByte未満であるため、それらをメモリ内で完全に読み取ることができます – user7468395

答えて

0

各行を個別に書き込まないでください。データフレームにはto_csvメソッドがあります。

df = pd.read_csv('input.csv') 
# some filtering logic, for example: 
filtered_df = df[df['col a'] == 2] 
filtered_df.to_csv('output.csv') 
関連する問題