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

如何用Pandas Dataframe为表头行填充空格匹配列宽并格式化行号列

解决方案

以下是用Pandas实现表头和数据列按指定宽度填充空格、格式化行号的代码:

import pandas as pd

# 读取PSV文件,竖线作为分隔符,跳过分隔符后的空格
df = pd.read_csv('你的文件路径.psv', sep='|', skipinitialspace=True)

# 定义各数据列的目标宽度(对应Address_line_1、Address_line_2、Suburb、Postcode、State)
column_widths = [16, 56, 56, 42, 6, 3]
# 行号列的显示宽度
index_width = 4

# 生成并打印格式化后的表头
header_segments = [' ' * index_width] + [col.ljust(width) for col, width in zip(df.columns, column_widths)]
print('|'.join(header_segments))

# 遍历每一行,生成并打印格式化后的内容
for row_num, row_data in df.iterrows():
    # 格式化行号,左对齐填充至指定宽度
    formatted_index = str(row_num).ljust(index_width)
    # 格式化各列数据,左对齐填充至对应宽度
    row_segments = [formatted_index] + [str(val).ljust(width) for val, width in zip(row_data.values, column_widths)]
    print('|'.join(row_segments))

关键说明:

  • 使用ljust(width)方法实现文本左对齐并填充空格至指定宽度,匹配你期望的排版效果。
  • 读取文件时添加skipinitialspace=True,避免分隔符|后的多余空格干扰数据读取。
  • 行号列通过index_width控制显示宽度,确保不同位数的行号(如0、10)排版对齐。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:15:52