代码大概如下
# json 文件格式为:
[
{
"name": "Komplexe technische Systeme I - Energieumsatz",
"validate_keywords": {
"j.": 1.4,
"münchen": 1.4,
"essen": 2.2,
"verlag": 3.5,
"komplexe technische systeme": 5.0
}
},
{
"name": "Computational Electromagnetics 1",
"validate_keywords": {
"finite element method": 5.0,
"numerical methods": 5.0
}
},
...
]
with open('./normalized_has_key.json', 'r', encoding='utf8') as n_file:
normalized_has_key = json.load(n_file) # 加载了一个json文件
for item in normalized_has_key:
if 'validate_keywords' in item:
for k,v in item['validate_keywords']:
...
报错内容1:ValueError: too many values to unpack (expected 2)
报错的地方 for k,v in item['validate_keywords']:
解决办法:
将
for k,v in item['validate_keywords']
替换成
for k,v in item['validate_keywords'].items():
报错内容2: KeyError: 'validate_keywords'
找不到json中的这个键,但json文件中明明是有这个的,拼写也对得上
解决办法:
如上面代码,加上 if 'validate_keywords' in item:
python学习初期,目前只是解决了问题,但不清楚原因,原理再看