我编写了一个Python脚本来随机创建一个包含学生和成绩的JSON结构。创建每个学生及其最终成绩的脚本是:
import json
for i in range(1000):
finalMedia = {"name":"name", "media":media}
json.dump(finalMedia, open("xtext.txt",'w'))
txt.write("\n")
产生如下文件:
...
{"media": 7, "nome": "Bernardo"}
{"media": 7, "nome": "Isadora"}
{"media": 7, "nome": "Pedro"}
{"media": 9, "nome": "Agatha"}
...
在阅读方面,我编写了另一个也使用JSON模块的脚本:
import json
data = json.load(open("xtext.txt"))
print data
我期待整个文件数据,但相反,我收到以下错误: Extra data: line 2 column 1 - line 1001 column 1 (char 32 - 31997)
起初,我认为错误是破坏线条的结果。我已经决定删除txt.write(“\ n”)但在那之后,我仍然得到同样的错误。然后,我试图将txt.write(“\ n”)更改为txt.write(“,”),但这也不起作用。所以错误必须在我的阅读上。我是否有与JSON模块有关的事情,或者它确实是我写文件的方式?
答案 0 :(得分:3)
data = map(json.loads,open("xtext.txt"))
每一行都是一个json结构......但是在一起作为单个文件时,json
无效虽然你应该只写一次json.dump
medias = [{"name":"name", "media":media} for name,media in all_media]
json.dump(medias,open("xtext.txt","wb"))