私はこのようなパンダDataFrameを持っています
X Y Z Value
0 18 55 1 70
1 18 55 2 67
2 18 57 2 75
3 18 58 1 35
4 19 54 2 70
このようにテキストファイルにこのデータを書きたいのですが、
18 55 1 70
18 55 2 67
18 57 2 75
18 58 1 35
19 54 2 70
私は試してみた
f = open(writePath, 'a')
f.writelines(['\n', str(data['X']), ' ', str(data['Y']), ' ', str(data['Z']), ' ', str(data['Value'])])
f.close()
しかし、それはうまくいきません。これを行う方法?
np.savetxt
を使用してnp属性.values
にアクセスするだけです。
np.savetxt(r'c:\data\np.txt', df.values, fmt='%d')
収量:
18 55 1 70
18 55 2 67
18 57 2 75
18 58 1 35
19 54 2 70
または to_csv
:
df.to_csv(r'c:\data\pandas.txt', header=None, index=None, sep=' ', mode='a')
np.savetxt
については、追加モードで作成されたファイルハンドルを渡す必要があります。
pandas.DataFrame.to_csv() を使用して、index
とheader
の両方をFalse
に設定できます。
In [97]: print df.to_csv(sep=' ', index=False, header=False)
18 55 1 70
18 55 2 67
18 57 2 75
18 58 1 35
19 54 2 70
pandas.DataFrame.to_csv
はファイルに直接書き込むことができます。詳細については、上記のリンク先のドキュメントを参照できます。
パーティーに遅刻する:これを試してみる>
#pd: your pandas dataframe
base_filename = 'Values.txt'
with open(os.path.join(WorkingFolder, base_filename),'w') as outfile:
pd.to_string(outfile)
#Neatly allocate all columns and rows to a .txt file