以不同列宽保存固定格式的Pandas数据帧

时间:2018-04-27 18:03:51

标签: python pandas dataframe fixed-width

我有一个像这样的pandas数据帧(df):

   A   B  C
0  1  10  1234
1  2  20  0

我想以固定格式保存此数据框。我想到的固定格式有不同的列宽,如下所示:

“列A的值为一个空格,然后是逗号,然后是列B的值和逗号的四个空格,然后是列C值的五个空格”

或象征性地:

-,----,-----

我上面的数据框(df)看起来像我想要的固定格式:

1,  10, 1234
2,  20,    0

如何在Python中编写一个命令,将我的数据帧保存为这种格式?

1 个答案:

答案 0 :(得分:2)

df['B'] = df['B'].apply(lambda t: (' '*(4-len(str(t)))+str(t)))
df['C'] = df['C'].apply(lambda t: (' '*(5-len(str(t)))+str(t)))
df.to_csv('path_to_file.csv', index=False)