将data.txt转换为data.json并优雅打印前2条数据的问题
解决方法
你的问题出在两个关键点上:
- 原代码把整个文本文件的内容当成单个字符串转成JSON,换行符等特殊字符会被自动转义成
\n,格式自然不符合要求 - 一次性读取10000行的大文件,会把所有内容直接加载到内存里,导致Jupyter Notebook卡顿
用下面的代码就能解决所有问题:
import json # 逐行读取文件,避免一次性加载全部内容,降低内存占用 id_list = [] with open("data.txt", "r") as f: for line in f: # 去掉每行的换行符和前后空白,同时过滤空行 internal_id = line.strip() if internal_id: id_list.append(internal_id) # 优雅打印前2条数据 print("前2条LinkedIn内部ID:") for idx, _id in enumerate(id_list[:2], 1): print(f"第{idx}条:{_id}") # 写入格式正确的JSON文件,无多余转义符 with open("data.json", "w") as f: json.dump(id_list, f, indent=3)
代码说明
- 逐行读取:通过
for line in f循环逐行处理文件,每次仅加载一行数据,内存占用极低,不会出现卡顿 - 数据清洗:用
strip()去除每行的换行符和前后空白,同时过滤空行,保证生成的JSON数据干净无冗余 - JSON生成:直接将ID列表转成JSON数组结构,不会产生多余的转义符
- 打印优化:用枚举函数给前2条数据添加序号,输出更直观清晰
内容的提问来源于stack exchange,提问作者joe
相关产品推荐
相关产品推荐

