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

如何将Python字典列表按指定对齐表格格式写入txt文件

实现字典列表写入对齐TXT表格的正确代码

原有代码问题

  1. print() 函数无返回值,赋值给e的内容永远是None,无法得到要写入的行内容
  2. 未做列对齐格式化,也没有写入表头,且仅执行了一次写入操作,没有把所有行内容写入文件

正确实现代码

# 原始字典列表
dict_list = [
    {'Name': 'Syed', 'Age': 17.0, 'DOB': 38034.0, 'Blood group': 'O+', 'mobile no:': 919496589636.0},
    {'Name': 'Saurav', 'Age': 16.0, 'DOB': 38391.0, 'Blood group': 'A+', 'mobile no:': 915452587965.0},
    {'Name': 'Jinish', 'Age': 18.0, 'DOB': 37654.0, 'Blood group': 'O+', 'mobile no:': 916356254128.0},
    {'Name': 'kiran', 'Age': 17.0, 'DOB': 38034.0, 'Blood group': 'O+', 'mobile no:': 919496589636.0},
    {'Name': 'Robin', 'Age': 16.0, 'DOB': 38391.0, 'Blood group': 'A+', 'mobile no:': 915452587965.0},
    {'Name': 'Ravi', 'Age': 18.0, 'DOB': 37654.0, 'Blood group': 'O+', 'mobile no:': 916356254128.0}
]

# 使用with上下文管理器自动管理文件关闭,避免资源泄漏
with open("D:\\DSUsers\\uie41986\\BIG.txt", "w", encoding="utf-8") as f:
    # 写入表头,设置各列固定宽度左对齐
    f.write(f"{'Name':<10}{'Age':<8}{'DOB':<12}{'Blood group':<15}{'mobile no:'}\n\n")
    # 遍历每一行数据格式化写入
    for item in dict_list:
        name_col = f"'{item['Name']}'"
        blood_col = f"'{item['Blood group']}'"
        row = f"{name_col:<10}{item['Age']:<8}{item['DOB']:<12}{blood_col:<15}{item['mobile no:']}\n"
        f.write(row)

效果说明

代码通过f-string的左对齐规则(<符号)设置每列的固定占用宽度,你可以根据实际内容长度调整宽度数值(比如<10表示该列占10个字符宽度),即可得到符合要求的对齐表格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 04:15:03