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

如何用Python创建带有计算公式的数据表格?

结论:用Pandas DataFrame比print转义字符更简便

直接说结论:不推荐用print()加转义字符生成表格,这种方式不仅要手动处理格式对齐,数据量变大或修改公式时维护成本极高,完全达不到你想要的「像Excel那样嵌入公式生成数据」的需求。

更贴合你需求的方案是用Pandas的DataFrame,逻辑和Excel里的公式填充完全一致,代码简洁易维护:

Pandas实现示例

import pandas as pd

# 定义小时数列表
hours = [0, 5, 10, 15]
# 按公式「总数 = 200 × 2的n次方」计算
total_numbers = [200 * (2 ** n) for n in hours]

# 创建DataFrame(对应Excel的表格)
df = pd.DataFrame({
    "Hours (n)": hours,
    "总数": total_numbers
})

# 输出规整的表格
print(df.to_markdown(index=False))

运行后会直接输出你需要的格式:

| Hours (n) |   总数 |
|-----------|--------|
|         0 |    200 |
|         5 |   6400 |
|        10 | 204800 |
|        15 | 6553600|

后续要新增数据,只需要修改hours列表,公式会自动计算对应值,和Excel下拉填充的逻辑完全一致,还能轻松导出为Excel、CSV等格式。

如果你一定要用print转义字符(不推荐)

给个示例,但缺点很明显:需要手动调整对齐,数字位数变化时格式会乱,公式复用性差:

print("| Hours (n) | 总数 |")
print("|-----------|------|")
for n in [0,5,10,15]:
    total = 200 * (2 ** n)
    # 手动指定宽度对齐,数字变多还要调整
    print(f"| {n:<9} | {total:<7} |")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:15:42