Python如何将循环输出的字典逐行写入JSON文件并保留原格式
Python逐行存储字典到JSON文件实现方案
方法1:完全保留原打印格式
如果你需要和print(i)输出的内容完全一致,包括保留单引号,直接将字典转字符串写入文件即可:
with open('output.json', 'w', encoding='utf-8') as f: for i in item: f.write(f"{i}\n")
特点:输出内容和你打印的结果完全一致,但单引号格式不属于标准JSON规范,部分JSON解析工具可能无法直接识别。
方法2:生成标准JSON Lines格式(推荐)
如果需要兼容通用JSON解析工具,建议使用标准的逐行JSON(JSON Lines)格式,每行都是合法的JSON对象:
import json with open('output.jsonl', 'w', encoding='utf-8') as f: for i in item: # ensure_ascii=False 避免中文等非ASCII字符被转义 json_line = json.dumps(i, ensure_ascii=False) f.write(json_line + '\n')
特点:符合行业通用规范,所有支持JSON的工具都可以正常解析每行内容,后续读写、处理数据更方便。
逐行JSON文件读取示例
如果后续需要读取生成的逐行JSON文件,可以用如下代码实现:
import json data_list = [] with open('output.jsonl', 'r', encoding='utf-8') as f: for line in f: # 跳过空行 stripped_line = line.strip() if not stripped_line: continue data_list.append(json.loads(stripped_line))
内容的提问来源于stack exchange,提问作者sirimiri
相关产品推荐
相关产品推荐

