【发布时间】:2018-10-03 18:24:15
【问题描述】:
我有一个json 文件;我需要从内容中删除 id 键,我可以使用我的代码来完成。
现在我想在一个新文件中打印json 文件的每一行,并使用我在json 中归档的名称作为文件名。
我的json 文件前:
{"categories":["Test"],"indications":[{"@class":"=indication.BuildLogIndication","pattern":".*TypeError .*"},{"@class":"model.indication.BuildLogIndication","pattern":".*LoadError .*"}],"modifications":[{"time":{"$date":"2015-10-08T20:01:54.075Z"}},{"user":"user1","time":{"$date":"2015-03-04T18:38:58.123Z"}},{"user":"user2","time":{"$date":"2014-11-13T01:54:13.906Z"}},{"time":{"$date":"2014-09-02T18:48:05.000Z"}}],"lastOccurred":{"$date":"2017-01-25T20:05:17.180Z"}}
{"pattern":".*look for this string.*"}],"modifications":[{"time":{"$date":"2014-09-02T18:52:20.000Z"}}],"lastOccurred":{"$date":"2014-11-04T00:43:32.945Z"},"_removed":{"timestamp":{"$date":"2014-11-13T01:52:44.346Z"},"by":"user3"},"active":false}
删除id的代码:
import json
import sys
import re
import fileinput
infile = "failure.json"
outfile = "failure1.json"
fin = open(infile)
fout = open(outfile, "w+")
for line in fin:
for word in line:
line = re.sub("\"_id.*?},","", line)
fout.write(line)
file.write("%d\n" % n)
fin.close()
fout.close()
【问题讨论】:
-
你已经导入了
json包,但是你没有使用它。应该的,太好了从文件中获取字符串,然后使用json.loads()将字符串加载到 json 对象中。从那里,您可以使用for key in json_object获取 json 对象的每个元素。 -
@mindfolded 你能把它写成一个解决方案吗.. 非常合适.. 我也是 Python 新手.. 非常感谢
-
@jantamm 已经写成解决方案了。