非常简单的问题!我想合并多个JSON文件和
看看这个:
f1data = f2data = f3data = f4data = f5data = f6data = ""
with open('1.json') as f1:
f1data = f1.read()
with open('2.json') as f2:
f2data = f2.read()
with open('3.json') as f3:
f3data = f3.read()
with open('4.json') as f4:
f4data = f4.read()
with open('5.json') as f5:
f5data = f5.read()
with open('6.json') as f6:
f6data = f6.read()
f1data += "\n"
f1data += f2data += f3data += f4data += f5data += f6data
with open ('merged.json', 'a') as f3:
f3.write(f1data)
输出应该是这样的:
[
{
"id": "1",
"name": "John",
},
{
"id": "2",
"name": "Tom",
}
]
问题是Visual Code Studio在下面出现了一条红线: f1data+=f2data+=f3data+=f4data+=f5data+=f6data
我不知道为什么!代码无法运行!没有错误,所以我可以排除故障。有什么建议吗
“合并”文件的输出不会像您指定的那样格式化,但这表明了我个人将使用的方法:-
此代码中有几点需要改进:
你应该以更“程序化”的方式考虑:
如果声明一个包含要访问的json文件名称的列表,如下所示:
然后,您可以执行以下操作:
它更简洁、更具python风格,并且如果您需要7个json输入文件,就可以轻松地进行修改
如果您的文件总是1,2,3,4,那么您也可以这样做for循环迭代:知道您想要的最高json文件号
为了确保Json是有效的Json,可以使用Json标准库。不过这需要更多的时间,因为文件将被解析,而不是直接转储到另一个文件中,但是如果您没有100000个文件要合并,并且您不确定在第一个plase中创建json文件的代码是否有效,那么您将看不到区别
要想使用它,就去做吧
你有几种方法:
使用
contextlib.ExitStack
相关问题 更多 >
编程相关推荐