在数据框中访问JSON

时间:2020-08-27 10:08:22

标签: python json pandas

我有这个json

"delivery_order":{
      "created_at":{
         "0":"2020-01-27 00:00:)0",
         "1":"2020-07-04 00:00:00",
         "2":"2020-05-26 00:00:00",
      },
      "status":{
         "0":"delivery_completed",
         "1":"pending",
         "2":"pending",
      }
   },

在我的代码中,我像这样存储它

order_data = pd.DataFrame(data['delivery_order'])

我的问题是我如何访问json上的0索引,所以json看起来像这样

"delivery_order":{
      "created_at":{
         "0":"2020-01-27 00:00:)0",
      },
      "status":{
         "0":"delivery_completed",
      }
   },

我尝试过这个,而且行得通

data['delivery_order']['created_at'][0]['status'][0]

但是,如何在不手动访问索引的情况下访问索引?因为有时从服务器发送的数据看起来像这样

"delivery_order":{
      "status":{
         "0":"delivery_completed",
         "1":"pending",
         "2":"pending",
      },
      "created_at":{
         "0":"2020-01-27 00:00:)0",
         "1":"2020-07-04 00:00:00",
         "2":"2020-05-26 00:00:00",
      }
   },

因此无法按索引手动访问它

data['delivery_order']['created_at'][0]['status'][0]

1 个答案:

答案 0 :(得分:0)

由于您使用的是大熊猫,请使用from_dict

# create df
df = pd.DataFrame.from_dict(d['delivery_order'], orient='columns')
print(df)

            created_at              status
0  2020-01-27 00:00:)0  delivery_completed
1  2020-07-04 00:00:00             pending
2  2020-05-26 00:00:00             pending


# get value by index
index = 1
df.iloc[index].to_dict()