【问题标题】:Saving a Pandas dataframe in fixed format with different column widths以不同列宽的固定格式保存 Pandas 数据框
【发布时间】:2018-04-27 18:03:50
【问题描述】:

我有一个看起来像这样的 pandas 数据框 (df):

   A   B  C
0  1  10  1234
1  2  20  0

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

“A 列值一个空格,然后一个逗号,B 列值四个空格,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 我希望我能选择你的答案作为最佳答案,但由于它是作为评论发布而不是答案,所以我不能
  • 我添加了它。随意给我一些街头信誉。 :)

标签: python pandas dataframe fixed-width


【解决方案1】:
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)

【讨论】:

    猜你喜欢
    • 2020-05-07
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 2015-12-13
    • 2023-04-06
    相关资源
    最近更新 更多