【发布时间】:2019-12-16 19:35:36
【问题描述】:
我正在尝试使用下面的代码从一个大型 .json 文件生成一组 .txt 文件,其中每行有一个 Json 对象,带有日期和一串文本。我希望日期是文件名。
当我打开 .json 文件(在 sublime 文本编辑器中)时,它显示了 2272 行,所以我假设代码应该生成这个数量的文本文件。然而,它的产量只有一半。谁能告诉我为什么,我应该怎么做才能纠正这个问题?
import json
#with open('results.json') as json_file:
data = [json.loads(line) for line in open('results.json', 'r')]
for p in data:
date = p["date"]
filename = date.replace(" ", "_").replace(":","_")
print(filename)
text = p["text"]
with open('Articles2/'+filename+'.txt', 'w') as f:
f.write(text+'\n')
感谢您的帮助!
【问题讨论】:
-
你能添加一个你的json的例子吗?
-
不相关的代码改进建议:在您的
data = ...行中使用()而不是[]。这将阻止您的应用程序一次将整个文件读入内存。