
本文介绍如何使用 python 读取 json 文件,提取特定字段(如 date 和 count),将其格式化为多行字符串并统一输出,避免循环中重复调用 print,提升代码可维护性与可读性。
在实际开发中,我们常需从 JSON 文件中读取结构化数据,并以清晰、易读的方式展示关键信息。例如,给定一个包含多个预约记录的 file.json,每条记录含 date、time 和 count 字段,若仅需展示日期与剩余数量,可借助列表推导式构造格式化字符串,再通过字符串的 join() 方法将所有行合并为一个带换行符的完整字符串。
以下是完整、健壮的实现方案:
import json
# 安全读取 JSON 文件(建议添加异常处理)
try:
with open('file.json', 'r', encoding='utf-8') as file:
data = json.load(file)
except FileNotFoundError:
print("错误:文件 'file.json' 未找到。")
exit(1)
except json.JSONDecodeError as e:
print(f"错误:JSON 解析失败 — {e}")
exit(1)
# 提取并格式化所需字段(支持空值/缺失键防护)
new_list = []
for item in data:
date = item.get("date", "N/A")
count = item.get("count", 0)
new_list.append(f'Date --> {date}, Remaining counts --> {count}')
# 合并为单个多行字符串
new_var = '\n'.join(new_list)
# 一次性输出全部内容
print(f'This is our data:\n{new_var}')✅ 关键要点说明:
- '\n'.join(list) 是将列表中每个字符串用换行符连接的标准做法,比手动拼接或循环打印更简洁高效;
- 使用 .get(key, default) 可防止因字段缺失导致 KeyError,增强鲁棒性;
- 添加 try...except 块能有效处理常见 I/O 和解析异常,适用于生产环境;
- 显式指定 encoding='utf-8' 避免中文或特殊字符乱码(尤其在 Windows 系统下)。
? 进阶提示: 若后续需支持表格对齐、导出 CSV 或渲染 HTML,可基于 new_list 进一步扩展——它已是一个结构清晰的中间数据容器,灵活性远高于直接打印。
立即学习“Python免费学习笔记(深入)”;











