【问题标题】:Write .csv file from pandas dataframe with consecutive spaces as delimiter从 pandas 数据帧写入 .csv 文件,以连续空格作为分隔符
【发布时间】:2018-11-02 15:04:13
【问题描述】:

我想写一个由四个空格而不是一个制表符分隔的文本文件:

df.to_csv(file,sep= '\s\s\s\s') 

而不是

df.to_csv(file,sep= '\t')

我试过正则表达式:

df.to_csv(file,sep= r'\s{4}') 

哪个也不行?

不写和替换分隔符是否可行?

【问题讨论】:

  • 我认为在写csv的时候,sep=必须只有一个字符,所以不确定4个空格是否可行

标签: python pandas csv


【解决方案1】:

这可能是一种解决方法:

myCsv = df.astype(str).apply(lambda x: '   '.join(x), axis=1)
myCsv.rename('   '.join(df.columns)).to_csv(file, header=True, index=False)

【讨论】:

  • 是的,这也是我在每个数据列之间添加空格列然后写入文件的下一步。只要列名是字符串,您的解决方案就可以工作
  • 作为快速跟进:我尝试将 astype(str) 替换为 .to_string(float_format = '%09.2f') ,因为它希望文件中的值具有某种格式。但是没有成功
猜你喜欢
  • 2023-03-25
  • 1970-01-01
  • 2018-11-20
  • 2019-09-02
  • 1970-01-01
  • 2020-12-08
  • 1970-01-01
  • 2019-01-30
  • 2014-01-21
相关资源
最近更新 更多