pandas 的 DataFrame 文本输出函数的问题:
- to_csv() 不支持 to_string() 的“格式化程序”参数。我需要为每一列设置不同的格式。
- to_string() 不支持分隔符。
到目前为止我做了什么:
我以新的 Python 格式化格式生成格式化字符串列表,例如['{8.1f}','{9.3f}',...,]
,然后执行此 hack:
f.write(', '.join(fmt).format(*data)+'\r\n')
有没有办法让 pandas 为我做一些这样的黑客攻击,或者这是一个功能请求,我已经完成了所有的工作? ;)
最佳答案
np.savetxt
可以做到(通过提供 fmt
参数,它可以是一个 list
),但这意味着列名有单独编写(header
参数):
np.savetxt('temp.csv', df.values, fmt=['%8.1f','%9.3f','%8.1f','%9.3f','%8.1f'],
delimiter=',', header=' '+' ,'.join(df.columns), comments='')
关于python - 如何将 pandas 数据框转换为每列格式不同的 CSV 格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23124128/