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

pandas dataframe调用to_string()输出列对齐及表头居中调整问题

pandas DataFrame 格式化输出方案

实现思路

  1. 先将DataFrame中的空值替换为和有效值长度一致的空白占位符,避免空值导致列宽收缩错位
  2. 统一设置每列的固定宽度,表头设置为居中对齐,数据行保持左对齐即可实现目标效果

代码实现

方案1:pandas原生参数实现(代码更简洁)

import pandas as pd

# 替换空值为5个空格,匹配时间字符串"HH:MM"的长度
df_filled = df.fillna('     ')

# 直接调用to_string生成格式化字符串
formatted_str = df_filled.to_string(
    col_space=6,  # 每列固定宽度为6个字符,可根据需要调整大小改变列间距
    index=False,  # 关闭输出行索引
    justify='center'  # 表头居中对齐
)

方案2:手动格式化(自由度更高,可自定义对齐规则)

import pandas as pd

# 替换空值
df_filled = df.fillna('     ')

# 处理表头:每个列名居中对齐到6字符宽度
header = ''.join([col.center(6) for col in df_filled.columns])

# 处理数据行:每个值左对齐到6字符宽度
rows = []
for _, row in df_filled.iterrows():
    rows.append(''.join([str(v).ljust(6) for v in row]))

# 拼接最终结果
formatted_str = header + '\n' + '\n'.join(rows)

最终使用

将生成的formatted_str作为代码块内容通过请求发送到Telegram,Telegram的等宽代码块会自动保留对齐效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:09:01