You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandas自动导出固定字符长度的美观制表符分隔CSV?

Pandas导出美观制表符分隔CSV的方案

Pandas没有内置的一键方法直接实现你需求的「自动计算列最大字符长度、左对齐填充空格后导出制表符分隔文件」的功能,但可以用更简洁的代码逻辑替代你手动遍历的步骤,效率更高:

优化实现代码

import pandas as pd

# 示例DataFrame
df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'London', 'Paris']
})

# 计算每列的最大字符长度(包含表头长度)
max_lengths = []
for col in df.columns:
    header_len = len(str(col))
    cell_max_len = df[col].astype(str).str.len().max()
    max_lengths.append(max(header_len, cell_max_len))

# 格式化表头
df.columns = [str(col).ljust(length) for col, length in zip(df.columns, max_lengths)]
# 格式化所有单元格
df = df.apply(lambda col: col.astype(str).str.ljust(max_lengths[col.name]))

# 导出为制表符分隔文件
df.to_csv('formatted_output.tsv', sep='\t', index=False)

替代方案:直接生成视觉美观的文本表格

如果只是需要视觉上对齐美观的表格文件,不需要严格的制表符分隔,可以用Pandas内置的to_string()方法,它会自动处理列对齐:

with open('pretty_table.txt', 'w') as f:
    f.write(df.to_string(index=False))

这个方法输出的是空格对齐的表格,适合直接查看,无需额外处理。

内容的提问来源于stack exchange,提问作者Sean L

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 12:52:16