gpt4 book ai didi

python - 我无法用 python 解析 json 文件

转载 作者:太空宇宙 更新时间:2023-11-04 10:16:36 25 4
gpt4 key购买 nike

这里是第一篇文章。

我已经使用 Python 一段时间了,但我遇到了一个非常简单的案例。

我只想用 simplejson 模块解析一个 JSON 文件:代码如下:

import simplejson

with open('myjsontest.json', 'r') as data_file:
print data_file.read()
session = simplejson.load(data_file, strict=False)

这是名为 myjsontest.json 的 JSON 文件:

[
{
"Test1": 1,
"Test2": 2,
"Test3": 3,
"Test4": 4
}
]

JSON 文件与 python 文件位于同一文件夹中。

结果是:

[
{
"Test1": 1,
"Test2": 2,
"Test3": 3,
"Test4": 4
}
]

Traceback (most recent call last):
File ".\test.py", line 8, in <module>
session = simplejson.load(data_file, strict=False)
File "C:\Users\Gordon\Anaconda2\lib\site-packages\simplejson-3.8.1-py2.7.egg\simplejson\__init__.py", line 459, in loa
d
use_decimal=use_decimal, **kw)
File "C:\Users\Gordon\Anaconda2\lib\site-packages\simplejson-3.8.1-py2.7.egg\simplejson\__init__.py", line 533, in loa
ds
return cls(encoding=encoding, **kw).decode(s)
File "C:\Users\Gordon\Anaconda2\lib\site-packages\simplejson-3.8.1-py2.7.egg\simplejson\decoder.py", line 370, in deco
de
obj, end = self.raw_decode(s)
File "C:\Users\Gordon\Anaconda2\lib\site-packages\simplejson-3.8.1-py2.7.egg\simplejson\decoder.py", line 400, in raw_
decode
return self.scan_once(s, idx=_w(s, idx).end())
File "C:\Users\Gordon\Anaconda2\lib\site-packages\simplejson-3.8.1-py2.7.egg\simplejson\scanner.py", line 127, in scan
_once
return _scan_once(string, idx)
File "C:\Users\Gordon\Anaconda2\lib\site-packages\simplejson-3.8.1-py2.7.egg\simplejson\scanner.py", line 87, in _scan
_once
raise JSONDecodeError(errmsg, string, idx)
simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

我想我的 OS/python 设置可能有问题? Python 32b 2.7.11 随 Anaconda 安装在 Windows7 64b 上。

谢谢,如果你能帮忙。

最佳答案

一旦您读取 一个文件,它的流就在末尾,无法再从中读取。如果您删除 print data_file.read() 语句,或者您之后 .seek() 回到文件的开头,您的代码应该可以工作。

关于python - 我无法用 python 解析 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35062895/

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