我有一些硬件以嵌套字典的形式输出数据
data_out = {'unimportant_dict': [{'dateTime': '2019-12-01', 'value': '183'}], 'secondary_dict': {'sub_dict': [{'time': '00:00:00', 'value': 0}, {'time': '00:01:00', 'value': 0}, {'time': '00:02:00', 'value': 0}], 'datasetInterval': 1}}
我对“sub_dict”中的“value”数据感兴趣,我想将其读入一个数据帧,但我有多个文件要整理成一个数据帧
我可以读一个文件,其中的工作很好
tempdict = data_out['secondary_dict']
testdf = pd.DataFrame(tempdict['sub_dict'])
给
time value
0 00:00:00 0
1 00:01:00 0
2 00:02:00 0
3 00:03:00 0
4 00:04:00 0
现在我想添加第二个文件,但只添加值数据(因为时间戳总是相同的)。假设第二个文件的结构与上面相同,我的方法是错误的
tempdict2 = data_out2['secondary_dict']['value']
testdf['new data'] = tempdict2
TypeError: list indices must be integers or slices, not str
我认为这是因为它是一个很长的目录列表(我假设它是一个保存时间顺序的列表)。我想我可以添加它,然后删除额外的时间列,但它将整个dict添加为一个列
time value fle2
0 00:00:00 0 {'time': '00:00:00', 'value': 0}
1 00:01:00 0 {'time': '00:01:00', 'value': 0}
2 00:02:00 0 {'time': '00:02:00', 'value': 0}
3 00:03:00 0 {'time': '00:03:00', 'value': 0}
4 00:04:00 0 {'time': '00:04:00', 'value': 0}
在我写这篇文章的时候,我想知道将“value”值提取到列表中,然后将其添加到df中是否更容易
我不认为这是一个复制品 Capture python value from multi-nested dictionary 因为这仍然是一个列表中的一个单独的dict,而这个列表中有很多dict
谢谢你的帮助
首先,将所有数据读入名为
all_nested_dicts
的列表。我假设所有文件中的记录数相同,并且所有文件的time
值都相同。如果没有这两个假设,下面的解决方案将无法工作,因为我只是通过连接数据帧来合并数据帧相关问题 更多 >
编程相关推荐