我要你请求你的帮助
我需要浏览包含json文件的文件夹,并且需要搜索一个具有特定值的属性
这是我的密码:
def listDir():
fileNames = os.listdir(FOLDER_PATH)
for fileName in fileNames:
print(fileName)
with open('C:\\Users\\Kamčo\\Desktop\\UBLjsons\\' + fileName, 'r') as json_file:
data = json.load(json_file)
data_json = json.dumps(data, indent=2, sort_keys=True)
print(data_json)
for line in data_json:
if line['ID'] == 'Kamilko':
print("try") #just to be sure it accessed to this
我得到这个错误:TypeError:字符串索引必须是整数
我还试图寻找一个解决方案,但没有帮到我
这是我的JSON
{
"Invoice": {
"@xmlns": "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2",
"@xmlns:cac": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
"@xmlns:cbc": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
"ID": "Kamilko",
"IssueDate": "2020-02-09",
"OrderReference": {
"ID": "22"
},
"InvoiceLine": {
"Price": {
"PriceAmount": {
"@currencyID": "EUR",
"#text": "23.50"
},
"BaseQuantity": {
"@unitCode": "C62",
"#text": "1"
}
}
}
}
}
你知道怎么做吗
您已使用
json.load(...)
加载了您的文件。这将把JSON数据转换成Python字典,您可以使用它访问元素:请注意,您可能希望检查相关的键是否存在,以防文件的结构发生变化,或者您可以使用
try/except
捕获键不存在时出现的KeyError
更多背景:
然后,当您调用
json.dumps(...)
时,您使用了方便的python结构,并再次将其转换回难以理解的字符串。我认为你不想也不需要这样做出现的特定错误是因为
dumps
创建了一个字符串。然后尝试使用[ ]
操作符访问该字符串的元素。字符串只能使用整数进行索引,例如mystr[4]
,因此Python不理解您要求它如何处理data_json["ID"]
相关问题 更多 >
编程相关推荐