最近用python读取大量json文件,但是总有一些报错,因为数据比较多之前选择性忽略了一些数据,但是这次准备把它解决。
代码如下
import json
for name in filenames:
with open(name,"rb") as f:
try:
txt = json.load(f)
except:
print(name)
continue
错误内容是
JSONDecodeError: Expecting value:
那么我们去到https://www.json.cn里面把文件粘贴进去看看
...ker migration."}]}, ]
此处缺少’
STRING
‘, ‘NUMBER
‘, ‘NULL
‘, ‘TRUE
‘, ‘FALSE
‘, ‘{
‘, ‘[
‘字符, 实际上是一个 ‘]
‘
提示说明格式错误,原来是多了一个逗号。那该怎么解决呢?
发现可以使用yaml来替代json,即
import yaml
import json
for name in filenames:
with open(name,"rb") as f:
try:
txt = json.load(f)
except:
txt = yaml.load(f)
但是似乎文件被读取两次导致txt第二次没有得到合适的返回值,于是只需要改成独立两次load即可,但是值得注意的是yaml读取起来会比较慢,所以大家还是谨慎使用。
欢迎转载:注明转载出处就好:):嘻哈小屋 » python 读取json文件报错:JSONDecodeError: Expecting value