gpt4 book ai didi

python - 从 json 字符串中读取数据并使用 python 对其进行操作

转载 作者:行者123 更新时间:2023-12-01 00:10:08 25 4
gpt4 key购买 nike

我有一个像这样的 .json 文件

{"name":"george" , "age":28 , "gender":"male"}
{"name":"maria" , "age":20 , "gender":"female"}
{"name":"mike" , "age":22 , "gender":"male"}

我想用 python 读取该文件,这样我就可以获取每个值,以便稍后在我的代码中对其进行操作。我已经尝试过以下代码:

with open ("file.json" , "r") as f:
data = json.load(f)
for line in data:
print (line["name"])

但除非我像这样更改 .json 文件,否则它将无法工作:

[
{"name":"george" , "age":28 , "gender":"male"},
{"name":"maria" , "age":20 , "gender":"female"},
{"name":"mike" , "age":22 , "gender":"male"}
]

如何在不更改 .json 文件的情况下做到这一点,或者如何使用正则表达式操作该文件,以便我可以运行上面的代码来获取每个值?

非常感谢您抽出宝贵的时间!

最佳答案

假设每个字典都存储在新行中,您可以使用:

import json
with open ("file.json" , "r") as f:
data = [json.loads(val) for val in f.readlines()]
for line in data:
print (line["name"])

此外,如果字典没有存储在不同的行中,您可以使用:

import json
with open ("file.json" , "r") as f:
data = []
opn = 0
cur = ''
for char in a.strip():
if char == '{':
opn += 1
elif char == '}':
opn -= 1
cur += char
if opn == 0:
data.append(json.loads(cur))
cur = ''
for line in data:
print (line["name"])

关于python - 从 json 字符串中读取数据并使用 python 对其进行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59688305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com