使用 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')