gpt4 book ai didi

python - Python 中解析 JSON 的文件格式不正确

转载 作者:太空宇宙 更新时间:2023-11-03 14:10:03 27 4
gpt4 key购买 nike

我的文件包含如下数量的 JSON 记录:

输入文件:

{"timestamp":1487271527,"user":"Dave","action":"browse"}
{"timestamp":1487271528,"user":"Dave","action":"navigate"}
{"timestamp":1487271529,"user":"Dave","action":"browse"}
{"timestamp":1487271530,"user":"Dave","action":"view"}
{"timestamp":1487271531,"user":"Dave","action":"browse"}
{"timestamp":1487271532,"user":"Dave","action":"browse"}
{"timestamp":1487271533,"user":"Dave","action":"browse"}
{"timestamp":1487271534,"user":"Dave","action":"navigate"}

我想将此数据加载到字典中,类似于 json.load 函数的作用

我怎样才能做到这一点?

使用 json.load 我收到以下错误:

Traceback (most recent call last):
File "C:/Users/lenovo/AppData/Local/Programs/Python/Python36-32/Granular.py", line 5, in <module>
input_data = json.load(open(r"C:\Users\lenovo\Desktop\nlp\input.txt",'r'))
File "C:\Users\lenovo\AppData\Local\Programs\Python\Python36-32\lib\json\__init__.py", line 299, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "C:\Users\lenovo\AppData\Local\Programs\Python\Python36-32\lib\json\__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "C:\Users\lenovo\AppData\Local\Programs\Python\Python36-32\lib\json\decoder.py", line 342, in decode
raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 57)

最佳答案

示例文件中的每一行都是一个单独的 JSON 结构。您可能希望在文件名的扩展名中明确这一点,例如您可以使用 lsjson 代表行分隔的 JSON

在这种情况下,您必须将每个值作为字符串读取,并将其解码为 python 字典:

import json

with open('example.lsjson') as fh:
data = [json.loads(line) for line in fh.readlines()]

你最终会得到一个字典列表

from pprint import pprint
pprint(data)
[{u'action': u'browse', u'timestamp': 1487271527, u'user': u'Dave'},
{u'action': u'navigate', u'timestamp': 1487271528, u'user': u'Dave'},
{u'action': u'browse', u'timestamp': 1487271529, u'user': u'Dave'},
{u'action': u'view', u'timestamp': 1487271530, u'user': u'Dave'},
{u'action': u'browse', u'timestamp': 1487271531, u'user': u'Dave'},
{u'action': u'browse', u'timestamp': 1487271532, u'user': u'Dave'},
{u'action': u'browse', u'timestamp': 1487271533, u'user': u'Dave'},
{u'action': u'navigate', u'timestamp': 1487271534, u'user': u'Dave'}]

关于python - Python 中解析 JSON 的文件格式不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48575709/

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