Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python上的单个文件中读取和写入多个相关JSON结构?_Python_Json - Fatal编程技术网

如何在Python上的单个文件中读取和写入多个相关JSON结构?

如何在Python上的单个文件中读取和写入多个相关JSON结构?,python,json,Python,Json,我编写了一个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": "Bern

我编写了一个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
我希望得到整个文件数据,但是我得到了以下错误:
额外数据:第2行第1列-第1001行第1列(char 32-31997)

起初,我认为这个错误是由于断线造成的。我决定删除txt.write(“\n”),但在那之后,我仍然收到相同的错误。然后,我尝试将txt.write(“\n”)更改为txt.write(“,”),但也没有成功。所以错误一定在我的读数上。我是否与JSON模块有关,或者这确实是我编写文件的方式

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")) 
每一行都是一个json结构。。。但是当作为一个单独的文件放在一起时,这不是有效的json

虽然实际上您应该只编写一次json.dump

medias = [{"name":"name", "media":media} for name,media in all_media]
json.dump(medias,open("xtext.txt","wb")) 

感谢您的快速回答,我尝试了您的第一个解决方案,使用“map”,python返回此错误:AttributeError:'str'对象没有属性'read'。我要试试你的第二种解决方案。再次感谢。@VitorFigueredo whoops应该是
json.loads
,因为它现在是字符串而不是文件(已修复)。感谢您的快速回答,我尝试了您的第一个解决方案,使用“map”,python返回此错误:AttributeError:“str”对象没有属性“read”。我要试试你的第二种解决方案。再次感谢。@VitorFigueredo应该是
json.loads
,因为它现在是字符串而不是文件(已修复)