如何使用for循环将字典内容打印为格式规整的终端表格
Python字典内容对齐打印方案
可通过字符串左对齐方法实现和原文件一致的列对齐效果,以下是两种可行实现:
固定宽度实现(适配你当前的数据集)
直接指定各列输出宽度即可匹配原文件格式,在你原有读取代码后添加以下内容:
# 打印表头 print(f"{'Name'.ljust(8)}{'Age'.ljust(4)}{'School'}") # 循环打印每行数据 total_rows = len(data["Name"]) for idx in range(total_rows): print(f"{data['Name'][idx].ljust(8)}{data['Age'][idx].ljust(4)}{data['School'][idx]}")
动态宽度实现(通用适配任意长度的内容)
如果后续数据集内容长度变化,可动态计算每列的最大宽度自动适配对齐:
# 计算每列的最大输出宽度 col_max_width = {} for col_name in headers: # 宽度取表头、列内容的最长值 + 2个字符的列间距 content_max_len = max(len(str(content)) for content in data[col_name]) col_max_width[col_name] = max(len(col_name), content_max_len) + 2 # 打印表头 print("".join(col_name.ljust(col_max_width[col_name]) for col_name in headers)) # 循环打印每行数据 total_rows = len(data[headers[0]]) for idx in range(total_rows): line = "".join(data[col_name][idx].ljust(col_max_width[col_name]) for col_name in headers) print(line)
内容的提问来源于stack exchange,提问作者fredericoamigo
相关产品推荐
相关产品推荐

