我想将 pandas.DataFrame 存储到一个文本文件中,该文件的列使用空格字符对齐。如果这是我的示例数据框:
In [1]: import numpy as np
In [2]: import pandas as pd
In [3]: df = pd.DataFrame(np.linspace(0,1,9).reshape(3,3))
In [4]: df
Out[4]:
0 1 2
0 0.000 0.125 0.250
1 0.375 0.500 0.625
2 0.750 0.875 1.000
[3 rows x 3 columns]
我想做这样的事情:
In [5]: df.to_csv('test.txt', sep='?')
得到这个:
In [6]: more test.txt
0 1 2
0 0.0 0.125 0.25
1 0.375 0.5 0.625
2 0.75 0.875 1.0
我应该使用什么分隔符?我想知道是否有一种方法可以在不使用\t
特点。看起来很好
0 1 2
0 0.0 0.125 0.25
1 0.375 0.5 0.625
2 0.75 0.875 1.0
但我的文本文件有制表符,这会产生其他问题。
如果我使用sep=' '
我明白这显然是错误的。
0 1 2
0 0.0 0.125 0.25
1 0.375 0.5 0.625
2 0.75 0.875 1.0
我知道 pandas 可以读取这样的文件,所以我认为有一种方法可以写出这样的文件。
这个怎么样
import numpy as np
import pandas as pd
import csv
df = pd.DataFrame(np.linspace(0,1,9).reshape(3,3))
df.to_csv('test.txt',
float_format='%10.3f', sep=" ",
quoting=csv.QUOTE_NONE, escapechar=" ")
它生产:
0 1 2
0 0.000 0.125 0.250
1 0.375 0.500 0.625
2 0.750 0.875 1.000
空格数可以通过“最长”数字的位数进行自定义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)