Python - 如何将 JSON 文件转换为数据框

Posted

技术标签:

【中文标题】Python - 如何将 JSON 文件转换为数据框【英文标题】:Python - How to convert JSON File to Dataframe 【发布时间】:2017-05-01 07:34:14 【问题描述】:

如何将 JSON 文件本身转换为数据框以进行一些转换。

例如,如果 JSON 文件读取:

"FirstName":"John",

"LastName":"Mark",

"MiddleName":"Lewis",

"username":"johnlewis2",

"password":"2910"

我怎样才能把它转换成这样的表格

Column -> FirstName | LastName | MiddleName | username | password



Row ----->    John | Mark |Lewis | johnlewis2 |2910

【问题讨论】:

【参考方案1】:

从字典对象创建数据框。

import pandas as pd
data = ['name': 'vikash', 'age': 27, 'name': 'Satyam', 'age': 14]
df = pd.DataFrame.from_dict(data, orient='columns')

df
Out[4]:
   age  name
0   27  vikash
1   14  Satyam

如果您有嵌套列,那么您首先需要对数据进行规范化:

data = [
  
    'name': 
      'first': 'vikash',
      'last': 'singh'
    ,
    'age': 27
  ,
  
    'name': 
      'first': 'satyam',
      'last': 'singh'
    ,
    'age': 14
  
]

df = pd.DataFrame.from_dict(pd.json_normalize(data), orient='columns')

df    
Out[8]:
age name.first  name.last
0   27  vikash  singh
1   14  satyam  singh

来源:

pandas.DataFrame.from_dict pandas.json_normalize

【讨论】:

谢谢!很有用【参考方案2】:
import pandas as pd
print(pd.json_normalize(your_json))

这会将半结构化 JSON 数据规范化为平面表

输出

  FirstName LastName MiddleName password    username
      John     Mark      Lewis     2910  johnlewis2

【讨论】:

谢谢@Marlon Abeykoon,非常有用,尤其是在我想导入 JSON 时 很高兴它对您有所帮助【参考方案3】:
jsondata = '"0001":"FirstName":"John","LastName":"Mark","MiddleName":"Lewis","username":"johnlewis2","password":"2910"'
import json
import pandas as pd
jdata = json.loads(jsondata)
df = pd.DataFrame(jdata)
print df.T

这应该是这样的:。

名字姓氏中间名密码用户名 0001 约翰·马克·刘易斯 2910 johnlewis2

【讨论】:

【参考方案4】:

您可能有 2 个输入,您也可以在它们之间进行转换。

    输入:listOfDictionaries --> 使用@VikashSingh 解决方案

示例:["":"...

pd.DataFrame() 需要 listOfDictionaries 作为输入。

    输入:jsonStr --> 使用@JustinMalinchak 解决方案

示例:'"":"...

如果你有 jsonStr,你首先需要一个额外的步骤来 listOfDictionaries。这很明显,因为它是这样生成的:

jsonStr = json.dumps(listOfDictionaries)

因此,首先从 jsonStr 切换回 listOfDictionaries:

listOfDictionaries = json.loads(jsonStr)

【讨论】:

以上是关于Python - 如何将 JSON 文件转换为数据框的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 将 Excel 转换为 JSON,如何根据需要格式化这些数据?

python中json文件如何转换为外部链接

使用 python 将 JSON 转换为 CSV

如何使用 python 脚本将 JSON 数据转换为 PDF

使用 Python 将 CSV 文件数据转换为 JSON 格式

如何将 Python 数据框对象转换为 json?