在python中逐行加载json时出错?

2024-06-02 09:38:17 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的json文件格式

[{
"name": "",
"official_name_en": "Channel Islands",
"official_name_fr": "Îles Anglo-Normandes",
}, and so on......

在加载上面的json文件时,我得到了这个错误

^{pr2}$

这是我的python代码

import json

data = []
with open('file') as f:
    for line in f:
        data.append(json.loads(line))

Tags: andnamejsondatasoonlinechannel
3条回答

JSON中不允许使用,}(根据给定的数据,我想这就是问题所在)。在

问题在于逐行读取和解码文件。文件中的任何一行(例如,"[{")都不是有效的JSON表达式。在

您似乎一次只处理一行整个文件。为什么不简单地使用^{}一次获取整个内容,然后将其提供给json呢?在

with open('file') as f:
    contents = f.read()
    data = json.loads(contents)

更好的是,为什么不使用json.load()来直接传递readable并让它处理slurping呢?在

^{pr2}$

相关问题 更多 >