【问题标题】:How can I get a pandas dataframe into CSV format with different formats per columns?如何将 pandas 数据框转换为每列不同格式的 CSV 格式?
【发布时间】:2023-04-06 01:22:02
【问题描述】:

pandas 的 DataFrame 文本输出函数的问题:

  • to_csv() 不支持 to_string() 的 'formatters' 参数。我需要为每列提供不同的格式。
  • to_string() 不支持分隔符。

到目前为止我做了什么:

我以新的 Python 格式化格式生成格式化字符串列表,例如['{8.1f}','{9.3f}',...,],然后做这个 hack:

f.write(', '.join(fmt).format(*data)+'\r\n')

有没有办法让 pandas 为我做一些黑客攻击,或者这是一个功能请求,我已经完成了所有工作? ;)

【问题讨论】:

    标签: python csv io pandas


    【解决方案1】:

    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='')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      • 1970-01-01
      • 1970-01-01
      • 2020-02-04
      • 1970-01-01
      相关资源
      最近更新 更多