gpt4 book ai didi

python - 如何将json文件转换为列表

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

我的json文件的内容是:

{'user': 'fgb59h', 'stars': 4.0, 'time': 1027296000}

{'user': 'bucho_ky', 'stars': 2.0, 'time': 1201305600}

{'user': 'redp944', 'stars': 4.0, 'time': 1118016000}

我想像这样转换它:

[
{"user": "fgb59h", "stars": 4.0, "time": 1027296000}

{"user": "bucho_ky", "stars": 2.0, "time": 1201305600}

{"user": "redp944", "stars": 4.0, "time": 1118016000}
]

我将单引号转换为双引号,如下所示:

with open('ep.json', 'r') as myfile:
data=myfile.read()
obj = json.dumps(data)
json_ep = obj.replace("'", "\"")

但现在我需要将 json 文件包含在列表中。有什么办法可以做到这一点吗?

提前致谢!!

最佳答案

您将无法使用 json 开箱即用地加载此文件。您必须首先替换所有单个 qutor,然后使用 json.loads 加载数据。但是,您也可以使用 ast 来读取单引号 json,如下所示:

import ast
from io import StringIO

data = """
{'user': 'fgb59h', 'stars': 4.0, 'time': 1027296000}

{'user': 'bucho_ky', 'stars': 2.0, 'time': 1201305600}

{'user': 'redp944', 'stars': 4.0, 'time': 1118016000}
"""

records = list()
for line in StringIO(data).readlines():
if not len(line.strip()): continue
data_dict = ast.literal_eval(line)
records.append(data_dict)

print(records)

哪些输出:

[{'stars': 4.0, 'time': 1027296000, 'user': 'fgb59h'},
{'stars': 2.0, 'time': 1201305600, 'user': 'bucho_ky'},
{'stars': 4.0, 'time': 1118016000, 'user': 'redp944'}]

关于python - 如何将json文件转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55707824/

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