首页 > 解决方案 > (python) 如何将字典值转换为 pandas DataFrame

问题描述

我的问题如下:

我有一个 txt 文件,它只包含一个带有一个键的字典。该单个键的值是一个包含字典作为列表条目的巨大列表。用于比较的第一个键:值对:

"data": [{"type": "utl", "id": "53150", "attributes": {"timestamp": "T13:00:00Z", "count": 0.0}}, [...etc.]

我尝试了以下方法,通过调用 .values 方法然后使用 list() 将单键字典的值转换为列表:

list_variable = list(dict_variable.values())

但似乎这只是将值转换为只有一个索引的列表,因为当我尝试调用索引 0 时文件崩溃(列表太大),如果我尝试调用索引 1,我得到一个 KeyError 说明索引超出范围。(我目前的想法是首先将其转换为列表,然后转换为 DataFrame)我是一个该死的初学者,不知道我还能尝试什么。我错过了什么?提前非常感谢!fpr 您的有用意见!

标签: pythonpandas

解决方案


对我来说看起来像一个json。尝试使用pandas.json_normalize

d = {"data": [{"type": "utl", "id": "53150", "attributes": {"timestamp": "T13:00:00Z", "count": 0.0}}]}
pd.json_normalize(d['data'])

  type     id attributes.timestamp  attributes.count
0  utl  53150           T13:00:00Z               0.0

推荐阅读