使用 defaultdict 时出现键盘错误
Keyerror while using defaultdict
我正在尝试使用 defaultdict(dict) 来解析来自 json 的数据,这些数据具有 'date' 和 'value' 的嵌套键。
日期键始终显示相应的值,但如果 'value' 键上根本没有数据,则完全省略。
这导致我在使用 defaultdict 时出现问题,因为在第一行缺少 'value' 键但在第二行出现时会引发 KeyError:'value'.
关于我如何解决这个问题并在其中发挥价值的任何想法,甚至认为它在第一行缺失。
数据:
{
"metric": "complexity",
"history": [
{
"date": "2019-09-10T15:24:33+0200",
"value": "54"
},
{
"date": "2019-12-24T11:26:42+0100"
}
代码:
dates_to_values = defaultdict(dict)
for metric in metrics['measures']:
metric_value = metric['metric']
for hist in metric['history']:
dates_to_values[hist['date']][metric_value] = hist['value']
问题不在 defaultdict
而在 hist
。如果 hist
始终是一个字典,那么当密钥并不总是存在于其中时使用 hist.get('value')
。
我正在尝试使用 defaultdict(dict) 来解析来自 json 的数据,这些数据具有 'date' 和 'value' 的嵌套键。
日期键始终显示相应的值,但如果 'value' 键上根本没有数据,则完全省略。
这导致我在使用 defaultdict 时出现问题,因为在第一行缺少 'value' 键但在第二行出现时会引发 KeyError:'value'.
关于我如何解决这个问题并在其中发挥价值的任何想法,甚至认为它在第一行缺失。
数据:
{
"metric": "complexity",
"history": [
{
"date": "2019-09-10T15:24:33+0200",
"value": "54"
},
{
"date": "2019-12-24T11:26:42+0100"
}
代码:
dates_to_values = defaultdict(dict)
for metric in metrics['measures']:
metric_value = metric['metric']
for hist in metric['history']:
dates_to_values[hist['date']][metric_value] = hist['value']
问题不在 defaultdict
而在 hist
。如果 hist
始终是一个字典,那么当密钥并不总是存在于其中时使用 hist.get('value')
。