使用defaultdict时发生键错误

问题描述 投票:0回答:1

我正在尝试使用defaultdict(dict)从具有'date'和'value'嵌套键的json中解析数据。

日期键始终显示相应的值,但是如果'value'-键上根本没有数据,则将其完全省略。

这给我带来了defaultdict的问题,因为当第一行中缺少'值'键,而第二行中存在时,它会引发KeyError:'值'。

关于如何解决此问题并在其中具有价值的任何想法,甚至都认为它在第一行中不存在。

数据:

{
"metric": "complexity",
   "history": [
       {
        "date": "2019-09-10T15:24:33+0200",
        "value": "54"
       },
       {
        "date": "2019-12-24T11:26:42+0100"
       }

CODE:

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']
python json defaultdict
1个回答
0
投票

问题不在defaultdict中,而在hist中。如果hist始终是字典,则当密钥不总是存在时使用hist.get('value')

© www.soinside.com 2019 - 2024. All rights reserved.