
本文介绍如何用 python 读取 json 文件,提取特定键值(如 date 和 count),生成格式化字符串列表,并将其合并为单个含换行符的字符串,以便通过一次 `print()` 输出多行内容。
要实现“将每条记录按指定格式输出在不同行”,核心在于:将多个字符串元素组合成一个带换行符(n)分隔的单一字符串,而非逐行调用 print() 或仅生成列表却未拼接。
以下是完整、可运行的解决方案:
import json # 1. 加载 JSON 文件 with open('file.json', 'r', encoding='utf-8') as file: data = json.load(file) # 2. 构建每行格式化字符串(推荐使用 f-string 提升可读性) new_list = [f'Date --> {item["date"]}, Remaining counts --> {item["count"]}' for item in data] # 3. 使用 'n'.join() 将列表合并为单个换行分隔的字符串 new_var = 'n'.join(new_list) # 4. 一次性打印全部内容(含标题) print(f'This is our data:n{new_var}')
✅ 输出效果示例:
This is our data: Date --> 1402/11/03, Remaining counts --> 5 Date --> 1402/11/04, Remaining counts --> 2 Date --> 1402/11/05, Remaining counts --> 4 ...
? 关键说明与注意事项:
立即学习“Python免费学习笔记(深入)”;
- ‘n’.join(list) 是标准且高效的方式,要求列表中所有元素均为字符串(str 类型),否则会触发 TypeError;
- 建议显式指定 encoding=’utf-8’,避免中文或特殊字符(如波斯历日期 1402/11/03)在部分系统上出现解码错误;
- 若 jsON 数据结构不固定(例如某些对象可能缺失 “date” 或 “count” 键),应添加异常处理或使用 .get() 方法(如 item.get(“date”, “N/A”))提升健壮性;
- new_var 是纯字符串变量,可复用于日志写入、API 响应或进一步文本处理,而不仅限于打印。
掌握 join() 与列表推导式的组合,是 python 中处理批量格式化输出的常用范式——简洁、清晰、符合 Pythonic 风格。