仅访问值,并使用 Python 处理 json 对象中的键

我目前正在使用 pymongo 来查询数据库,并且我希望只从查询中提取值,因为它们不需要键并且可以丢弃。执行查询后,我当前的结构如下所示:


tr_data = 

   [[[{

       'ts': 0.0,

       'ph': 50.0, 

       'am': -64.103

      },

      { 

       'ts': 1605.0, 

       'ph': 79.4, 

       'am': -66.223

      },

      {'ts': 3292.0, 

       'ph': 109.3, 

       'am': -68.476

}]]]]

我希望基本上剥离键,并将值放在一个简单的嵌套数组中,结果如下:


[[860792.0, 323.6, -64.884],

[862105.0, 347.5, -69.711],

[864146.0, 24.3, -68.361],....

到目前为止,我已经尝试过这个解决方案,<tr>我从查询中获得的列表在哪里,但无济于事:


def tr_array():

    trace_array = [d['Trace'] for d in tr]

    tr_data = [item[1:3:5] for item in trace_array]

    a = np.array(tr_data)

    arr = a.astype(np.float)

    return arr

我觉得这与访问这几行中的变量有关,但就像我之前所说的,如果我可以剥离键,这可能比访问特定值要快得多。任何帮助将不胜感激!


杨魅力
浏览 75回答 1
1回答

呼如林

试试这个:tr_data = [[[{&nbsp; &nbsp; &nbsp; &nbsp;'ts': 0.0,&nbsp; &nbsp; &nbsp; &nbsp;'ph': 50.0,&nbsp; &nbsp; &nbsp; &nbsp;'am': -64.103&nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp;'ts': 1605.0,&nbsp; &nbsp; &nbsp; &nbsp;'ph': 79.4,&nbsp; &nbsp; &nbsp; &nbsp;'am': -66.223&nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; &nbsp; {'ts': 3292.0,&nbsp; &nbsp; &nbsp; &nbsp;'ph': 109.3,&nbsp; &nbsp; &nbsp; &nbsp;'am': -68.476}]]]output = [list(i.values()) for i in tr_data[0][0]]print(output)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python