如何用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
相关产品推荐
相关产品推荐

