将Pandas数据帧写入具有前导空格的文件

时间:2017-09-11 18:14:52

标签: python pandas

我有一个形式为

的Pandas数据框
YYYYMMDD HHMMSS JJJJJ.JJJJ   
20050414  120000  53474.5     
20050415  120000  53475.5

我想将这些行连接到现有文件,输出看起来像

PREVIOUS DATA HERE
YYYYMMDD HHMMSS JJJJJ.JJJJ
 20050414 120000 53474.5
 20050415 120000 53475.5

即,在每个数据帧的数据行中具有前导空格,而不是列标题行。

以下以正确的格式生成输出,但没有空格。

df[['YYYYMMDD','HHMMSS']] = df[['YYYYMMDD','HHMMSS']].astype(int)
with open('myfile', 'a') as f:
  df.to_csv(f, sep=' ', index=False)

我尝试将第一列转换为字符串类型并添加了前导空格,但输出的格式不正确。我想有一个非常简单的解决方案,但谷歌搜索在如何删除而不是添加空白区域方面产生了大量的点击。

1 个答案:

答案 0 :(得分:1)

您可以通过在换行符之后添加空格来使用line_terminator参数:line_terminator='\n '

with open('myfile', 'a') as f:
    df.to_csv(f, line_terminator='\n ', sep=' ', index=False)

它不会移动标题,所有其他行都会获得所需的偏移量。