最近用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
嘻哈小屋



在服务器端上安装Jupyter


