此问题在此处已有答案:
Error loading json in python line by line?(4个答案)
3天前关闭。
我有简单的Python代码来读取JSON文件,但是当我使用json.load()
函数时,总是得到错误Expecting property name enclosed in double quotes: line 2 column 1 (char 2)
。
import json
f = open(json_path)
for line in f:
print(line)
print(json.loads(line))
很多人都遇到过同样的错误,但似乎主要是格式问题。我没有看到这里的格式有任何问题。我的双引号也很好。
这是我的JSON文件示例:
{
"ABCD": {
"IMAGE.jpg":{
"LOSS":"CAR",
"UNIT_ID":"14_1",
"DESCRIPTION":"Marginal",
"IMAGE_NAME":"car.jpg",
"CODE":"SURFACE",
"DEPTH":1.5
}
},
"DEFG": {},
"HIJK": {},
"LMNO": {}
}
1条答案
按热度按时间yruzcnhs1#
问题是你试图一行一行地加载JSON文件。相反,你需要一次加载整个文件。与CSV文件不同,JSON不是基于行的。单独地,每一行没有任何意义;只有当所有的都在一起时才有意义。
另外,因为你要加载一个文件,所以最好使用
json.load()
而不是json.loads()
。json.loads()
需要一个字符串,而你可以直接传递一个文件处理程序json.load()
,而不需要先读取: