如何从嵌套的json中输出Python Pandas Dataframe?

时间:2015-04-14 17:33:56

标签: python mysql json pandas dataframe

我是蟒蛇初学者。 低于'steps_detail'数据的那些就像那样;

>>> steps_detail
{u'activities-calories': 
    [{u'value': u'1240', u'dateTime': u'2015-04-13'}],
    u'activities-calories-intraday': 
        {u'datasetType': u'minute', u'datasetInterval': 1, u'dataset': 
        [
        {u'mets': 10, u'time': u'00:00:00', u'value': 0.8396000266075134, u'level': 0}, 
        {u'mets': 10, u'time': u'00:01:00', u'value': 0.8396000266075134, u'level': 0}, 
        {u'mets': 10, u'time': u'00:02:00', u'value': 0.8396000266075134, u'level': 0},
        {u'mets': 10, u'time': u'23:58:00', u'value': 0.8396000266075134, u'level': 0}, 
        {u'mets': 10, u'time': u'23:59:00', u'value': 0.8396000266075134, u'level': 0}
         ]      
        }
}

我希望使用像这样的pandas的DataFrame看到这些数据;因为我将使用这些数据来保存mysql。

mets time       value              level
10   00:00:00   0.8396000266075134  0 
10   00:01:00   0.8396000266075134  0 
10   00:02:00   0.8396000266075134  0
10   23:58:00   0.8396000266075134  0 
10   23:59:00   0.8396000266075134  0

这对我来说并不容易,任何人都有一些想法?我只是在尝试,但有些错误。

>>>d= DataFrame(steps_detail)
raise ValueError('Mixing dicts with non-Series may lead to 'ValueError: Mixing dicts with non-Series may lead to ambiguous ordering.

1 个答案:

答案 0 :(得分:1)

你可以试试这个

import pandas as pd

pd.DataFrame(steps_detail['activities-calories-intraday']['dataset'])

这将返回以下输出

    level  mets      time   value
0      0    10  00:00:00  0.8396
1      0    10  00:01:00  0.8396
2      0    10  00:02:00  0.8396
3      0    10  23:58:00  0.8396
4      0    10  23:59:00  0.8396