我有数据表,
A |B |C |D | E
abc|def|ghij|klmmm|ooo
lorem|ipsum|dol|amet|hel
但是当我使用pd.to_csv('sample.csv', sep='|')
A |B |C |D | E
abc |def |ghij |klmmm |ooo
lorem |ipsum |dol |amet |hel
我正在检查pandas文档(https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_csv.html),但是看不到任何可以对齐单元格空间的内容。我可以对齐输出csv文件的空间吗?
谢谢
答案 0 :(得分:1)
提供的数据都是字符串,您可以执行以下操作:
max_len = df.applymap(len).max().max() + 1
justify = lambda x: x.ljust(max_len)
df.applymap(justify).to_csv(sep='|', header=df.columns.map(justify), index=False)
结果:
A |B |C |D |E
abc |def |ghij |klmmm |ooo
lorem |ipsum |dol |amet |hel
如果您有字符串和非字符串数据,则可能要使用df.astype(str)
而不是df
。对于所有浮动数据帧,您可以使用float_format
。
另一种(甚至更好)的可能性是to_string。