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

Python 以不同列宽的固定格式保存数据帧,python,pandas,dataframe,fixed-width,Python,Pandas,Dataframe,Fixed Width,我有一个熊猫数据帧(df),看起来像这样: A B C 0 1 10 1234 1 2 20 0 我想以固定格式保存此数据帧。我心目中的固定格式具有不同的列宽,如下所示: “一个空格代表A列的值,一个逗号代表B列的值,四个空格代表B列的值,一个逗号代表C列的值,五个空格代表C列的值” 或者象征性地: -,----,----- 我上面的数据帧(df)在我所需的固定格式中如下所示: 1, 10, 1234 2, 20, 0 如何用Python编写将数据帧保存为

我有一个熊猫数据帧(df),看起来像这样:

   A   B  C
0  1  10  1234
1  2  20  0
我想以固定格式保存此数据帧。我心目中的固定格式具有不同的列宽,如下所示:

“一个空格代表A列的值,一个逗号代表B列的值,四个空格代表B列的值,一个逗号代表C列的值,五个空格代表C列的值”

或者象征性地:

-,----,-----
我上面的数据帧(df)在我所需的固定格式中如下所示:

1,  10, 1234
2,  20,    0

如何用Python编写将数据帧保存为这种格式的命令?

p.S.数据帧很大,有超过2500万行,因此不能编写“for I in rows”循环。df['B']=df['B'].apply(lambda t:(''*(4-len(str(t))+str(t)),类似于第三列,然后保存到csv@mathisfun你是个天才。我喜欢这个命令的简单和高效。非常感谢你@mathisfun我希望我能选择你的答案作为最佳答案,但因为它是作为评论发布的,而不是答案,我不能添加它。请随意给我一些街头信用。:)另外,数据帧很大,有超过2500万行,所以写“for i in rows”循环不是一个选项。df['B']=df['B'].apply(lambda t:(''*(4-len(str(t)))+str(t)))和类似的第三列,然后保存到csv@mathisfun你是个天才。我喜欢这个命令的简单和高效。非常感谢你@mathisfun我希望我能选择你的答案作为最佳答案,但因为它是作为评论发布的,而不是答案,我不能添加它。请随意给我一些街头信用。:)
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)