【问题标题】:How to extract data from complex json with Python?如何使用 Python 从复杂的 json 中提取数据?
【发布时间】:2019-11-27 02:04:00
【问题描述】:

我正在尝试从这个 json 文件中提取数据,格式如下:

    [{'from': '2019-11-22T12:45:00-05:00',
  'to': '2019-11-22T12:50:00-05:00',
  'value': [{'value': 0, 'label': 'fw'}, {'value': 0, 'label': 'bw'}]},
 {'from': '2019-11-22T12:50:00-05:00',
  'to': '2019-11-22T12:55:00-05:00',
  'value': [{'value': 0, 'label': 'fw'}, {'value': 1, 'label': 'bw'}]},
 {'from': '2019-11-22T12:55:00-05:00',
  'to': '2019-11-22T13:00:00-05:00',
  'value': [{'value': 0, 'label': 'fw'}, {'value': 0, 'label': 'bw'}]}]

目标是获取列“from”、“to”、“value”和label” 所以我应该有 6 行数据,每个时间实例 2 行,如下所示:

我尝试过使用

pd.DataFrame 函数来自 pandas,我得到这样的输出:

有什么建议吗?

【问题讨论】:

    标签: python json python-3.x pandas


    【解决方案1】:

    您可以explodevalue 列,然后提取实际的labelvalue 字段。但是恕我直言,预处理data

    更简单、更快捷
    df = pd.DataFrame([[d['from'], d['to'], d1['value'], d1['label']]
                        for d in data for d1 in d['value']],
                       columns=['from', 'to', 'value', 'label'])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 1970-01-01
      相关资源
      最近更新 更多