python 读取json文件报错:JSONDecodeError: Expecting value

最近用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

赞 (0)
分享到:更多 ()
OR 支付宝 扫描二维码
为嘻哈 打个赏
pay_weixinpay_weixin
金额随意 快来“打”我呀~

吐槽 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址