393

to_csv()pandas 関数を使用してデータフレームを既存の csv ファイルに追加できるかどうかを知りたいです。csv ファイルは読み込んだデータと同じ構造です。

4

7 に答える 7

272

追加モードでファイルを開くことにより、csvに追加できます。

with open('my_csv.csv', 'a') as f:
    df.to_csv(f, header=False)

これが csv の場合foo.csv:

,A,B,C
0,1,2,3
1,4,5,6

それを読んでから追加すると、たとえば次のようになりますdf + 6

In [1]: df = pd.read_csv('foo.csv', index_col=0)

In [2]: df
Out[2]:
   A  B  C
0  1  2  3
1  4  5  6

In [3]: df + 6
Out[3]:
    A   B   C
0   7   8   9
1  10  11  12

In [4]: with open('foo.csv', 'a') as f:
             (df + 6).to_csv(f, header=False)

foo.csvになります:

,A,B,C
0,1,2,3
1,4,5,6
0,7,8,9
1,10,11,12
于 2013-07-08T15:57:49.360 に答える
2

パーティーには少し遅れていますが、ファイルを複数回開いたり閉じたりする場合、またはデータや統計などをログに記録する場合は、コンテキスト マネージャーを使用することもできます。

from contextlib import contextmanager
import pandas as pd
@contextmanager
def open_file(path, mode):
     file_to=open(path,mode)
     yield file_to
     file_to.close()


##later
saved_df=pd.DataFrame(data)
with open_file('yourcsv.csv','r') as infile:
      saved_df.to_csv('yourcsv.csv',mode='a',header=False)`
于 2017-06-17T00:26:37.633 に答える