我试图找出一种方法来打印的字符串到csv文件(与标签为sep,我不会有兴趣在阅读它作为csv在未来),看起来不错。
现在我已经找到了一种方法来做到这一点:
1.将现有标题转换为列表。
1.遍历上述列表中的所有项目,将它们转换为字符串,使用ljust固定长度(通过添加尾随空格)到最高字符计数,并将它们分配回相同的列表
1.将头列表重新分配回DF
1.遍历所有其余的df单元格,将它们转换为字符串,使用ljust为固定长度,这是所有单元格的最高字符数,并将它们重新分配回先前的位置。
1.使用to_csv,sep =“\t”
输出的csv看起来像我想要的,但我想知道是否有一个与pandas相关的现有方法可以自动完成这一点?即,计算出最高的字符数,相应地添加尾随空格,并打印到csv,看起来像漂亮的表格,而不必将它们复制和粘贴到电子表格中。
1条答案
按热度按时间dkqlctbz1#
你问的问题有一个矛盾:
pd.read_csv()
读回),那么你可以使用sep='\t'
,但你的列将是锯齿状的(每列只有1个'\t'
分隔。df.to_string(index=False)
。但这不是一个CSV文件。sep='\t'
),但是当你读回它时,你会得到不同的数据。示例:
在下面的所有例子中,我们没有指定要写入的文件,所以输出是一个字符串,我们打印它。将文件名作为第一个参数传递给
.to_csv()
或.to_string()
以写入文件。设置
为了更一般化一点,多了一列:
字符串
有效的制表符分隔CSV
型
不是CSV,所有列都视觉对齐
型
填充字符串列和制表符分隔
仍然有效的CSV(制表符分隔),但数据已 * 修改 *(填充):
型