读取两个包含 json 数据的文件并使用 2 个文件数据创建新字典

发布于 2025-01-12 17:44:11 字数 782 浏览 2 评论 0原文

我的文件的数据为

file1.txt

Student={'name'='john','age'=13,'roll_no':22445,'gender'='male'},{'name'='jimmy','age'=14,'roll_no':45622,'gender'='male'}

file2.txt。

Address1={'name':'john','roll_no'=22445,'street':'st johns','pin':56902,'country':'US'},{'name':'jimmy','roll_no'=45622,'street':'st peters','pin':56502,'country':'US'}

当我读取文件并尝试将其加载到 json.i 时,

with open('file1.txt','r') as inputfile1:
        new_file=json.dumps(inputfile1)
        new_file=json.loads(new_file)

with open('file2.txt','r') as inputfile2:
        new_file2=json.dumps(inputfile2)
        new_file2=json.loads(new_file2)

print(type(new_file1))
print(type(new_file2))

我获取的是列表而不是 dict python 新手,有人可以帮忙吗

My files have data as

file1.txt

Student={'name'='john','age'=13,'roll_no':22445,'gender'='male'},{'name'='jimmy','age'=14,'roll_no':45622,'gender'='male'}

file2.txt

Address1={'name':'john','roll_no'=22445,'street':'st johns','pin':56902,'country':'US'},{'name':'jimmy','roll_no'=45622,'street':'st peters','pin':56502,'country':'US'}

when i read the file and try loading it to json.i was getting list instead of dict

with open('file1.txt','r') as inputfile1:
        new_file=json.dumps(inputfile1)
        new_file=json.loads(new_file)

with open('file2.txt','r') as inputfile2:
        new_file2=json.dumps(inputfile2)
        new_file2=json.loads(new_file2)

print(type(new_file1))
print(type(new_file2))

New to python, can someone help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

未蓝澄海的烟 2025-01-19 17:44:11

文件中的数据是无效的 json 字符串。在将数据写入文件之前,尝试使其有效 json。如果不可能,这里是如何修复它的示例:

import json
Student='''{'name'='john','age'=13,'roll_no':22445,'gender'='male'},{'name'='jimmy','age'=14,'roll_no':45622,'gender'='male'}'''
Address1='''{'name':'john','roll_no'=22445,'street':'st johns','pin':56902,'country':'US'},{'name':'jimmy','roll_no'=45622,'street':'st peters','pin':56502,'country':'US'}'''

#make valid json of ur string
Address1=Address1.replace("'",'"') #replace single quotes to double
Address1=Address1.replace('=',':') #
Address1='['+Address1+']'

a=json.loads(Address1)


Student=Student.replace("'",'"') #replace single quotes to double
Student=Student.replace('=',':') #
Student='['+Student+']'

s=json.loads(Student)

#type(a)
#<class 'list'>

a.extend(s)
print(a)
'''
[{'name': 'john', 'roll_no': 22445, 'street': 'st johns', 'pin': 56902, 'country
': 'US'}, {'name': 'jimmy', 'roll_no': 45622, 'street': 'st peters', 'pin': 5650
2, 'country': 'US'}, {'name': 'john', 'age': 13, 'roll_no': 22445, 'gender': 'ma
le'}, {'name': 'jimmy', 'age': 14, 'roll_no': 45622, 'gender': 'male'}]
'''

Ur data into files is invalid json string. Try make better it valid json before write data into files. If it impossible, here is example how to fix it:

import json
Student='''{'name'='john','age'=13,'roll_no':22445,'gender'='male'},{'name'='jimmy','age'=14,'roll_no':45622,'gender'='male'}'''
Address1='''{'name':'john','roll_no'=22445,'street':'st johns','pin':56902,'country':'US'},{'name':'jimmy','roll_no'=45622,'street':'st peters','pin':56502,'country':'US'}'''

#make valid json of ur string
Address1=Address1.replace("'",'"') #replace single quotes to double
Address1=Address1.replace('=',':') #
Address1='['+Address1+']'

a=json.loads(Address1)


Student=Student.replace("'",'"') #replace single quotes to double
Student=Student.replace('=',':') #
Student='['+Student+']'

s=json.loads(Student)

#type(a)
#<class 'list'>

a.extend(s)
print(a)
'''
[{'name': 'john', 'roll_no': 22445, 'street': 'st johns', 'pin': 56902, 'country
': 'US'}, {'name': 'jimmy', 'roll_no': 45622, 'street': 'st peters', 'pin': 5650
2, 'country': 'US'}, {'name': 'john', 'age': 13, 'roll_no': 22445, 'gender': 'ma
le'}, {'name': 'jimmy', 'age': 14, 'roll_no': 45622, 'gender': 'male'}]
'''
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文