简体   繁体   English

Json 文件到 pandas 数据框

[英]Json file to pandas data frame

I have a JSON file look like below.我有一个如下所示的 JSON 文件。

myjson= {'data': [{'ID': 'da45e00ca',
   'name': 'June_2016',
   'objCode': 'ased',
   'percentComplete': 4.17,
   'plannedCompletionDate': '2021-04-29T10:00:00:000-0500',
   'plannedStartDate': '2020-04-16T23:00:00:000-0500',
   'priority': 4,
   'asedectedCompletionDate': '2022-02-09T10:00:00:000-0600',
   'status': 'weds'},
  {'ID': '10041ce23c',
   'name': '2017_Always',
   'objCode': 'ased',
   'percentComplete': 4.17,
   'plannedCompletionDate': '2021-10-22T10:00:00:000-0600',
   'plannedStartDate': '2021-08-09T23:00:00:000-0600',
   'priority': 3,
   'asedectedCompletionDate': '2023-12-30T11:05:00:000-0600',
   'status': 'weds'},
   {'ID': '10041ce23ca',
   'name': '2017_Always',
   'objCode': 'ased',
   'percentComplete': 4.17,
   'plannedCompletionDate': '2021-10-22T10:00:00:000-0600',
   'plannedStartDate': '2021-08-09T23:00:00:000-0600',
   'priority': 3,
   'asedectedCompletionDate': '2023-12-30T11:05:00:000-0600',
   'status': 'weds'}]}

I was trying to normalize it convert it to pandas DF using the below code but doesn't seem to come correct我试图规范化它使用下面的代码将其转换为 pandas DF,但似乎不正确

from pandas.io.json import json_normalize 
reff = json_normalize(myjson)
df = pd.DataFrame(data=reff)
df

Can someone have any idea what I'm doing wrong?有人知道我做错了什么吗? Thanks in advance!提前致谢!

Try:尝试:

import pandas as pd 
reff = pd.json_normalize(myjson['data'])
df = pd.DataFrame(data=reff)
df

You forgot to pull your data out of myjson.您忘记从 myjson 中提取数据。 json_normalize() will iterate through the most outer-layer of your JSON. json_normalize() 将遍历 JSON 的最外层。

This method first normalizes the json data and then converts it into the pandas dataframe.该方法首先对 json 数据进行规范化,然后将其转换为 pandas 数据帧。 You would have to import this method from the pandas module.您必须从 pandas 模块导入此方法。

Step 1 - Load the json data第 1 步 - 加载 json 数据

json.loads(json_string)

Step 2 - Pass the loaded data into json_normalize() method第 2 步 - 将加载的数据传递给 json_normalize() 方法

json_normalize(json.loads(json_string))

Example:例子:

import pandas as pd
import json
# Create json string
# with student details
json_string = '''
[
    { "id": "1", "name": "sravan","age":22 },
    { "id": "2", "name": "harsha","age":22 },
    { "id": "3", "name": "deepika","age":21 },
    { "id": "4", "name": "jyothika","age":23 }
]
'''
# Load json data and convert to Dataframe 
df = pd.json_normalize(json.loads(json_string)) 
# Display the Dataframe
print(df)

Output:输出:

  id      name  age
0  1    sravan   22
1  2    harsha   22
2  3   deepika   21
3  4  jyothika   23

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM