我有这样的pandas 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
可以直接写入文件,更多信息可以参考上面链接的文档。