如何读取Json文件并将其转换为数据帧

时间:2020-07-30 14:24:08

标签: json python-3.x pandas

我试图读取JSON文件并转换为JSON,但是由于我对此没有太多了解,因此在这里遇到了困难。

from pandas.io.json import json_normalize
import pandas as pd
import json

Path = "NavigatorInstances.json"
with open(Path, 'r') as myfile:
    data= myfile.read()
     
data = json.loads(data)

df = pd.DataFrame.from_dict(json_normalize(data))

我收到以下错误消息:json.decoder.JSONDecodeError:预期值:第2行第13列(字符15)

我的JSON示例数据如下所示

{ 
    "_id" : ObjectId("5ecfe5a0f9fcb510c8ec51e5"), 
    "RNI_Corps" : {
        "MetaData" : {
            "TaxonomyName" : "RN.Corps", 
            "InstanceName" : "Ratings Navigator Instance Corps", 
            "ThisMongoObjectId" : "5ecfe5a0f9fcb510c8ec51e5", 
            "ThisObjectShortId" : "37187", 
            "ReplacedMongoObjectId" : "", 
            "ThreadIDs" : "5ecfe5a0f9fcb510c8ec51e5", 
            "CurrentWF_Activity" : "Drafted", 
            "CurrentWF_ActivityDate" : "2020-05-28 16:23:53", 
            "VersionID" : {
                "Tool" : "RN", 
                "Group" : "Corps", 
                "Sector" : "GenCos", 
                "Version" : "2.8.1.1"
            }, 
            "Cart" : {
                "Id" : null, 
                "Status" : null, 
                "StatusDate" : null, 
                "Locked" : null
            }, 
            "Effective" : {
                "Date" : null, 
                "Reason" : null, 
                "Source" : {
                    "SystemName" : null, 
                    "SystemId" : null, 
                    "EventType" : null
                }
            }, 
            "Criteria" : {
                "Id" : "10123001", 
                "Name" : "Exposure Draft: Sector Navigators", 
                "Date" : "2020-05-20 00:00:00"
            }, 
            "InstanceFileInfo" : {
                "MongoObjectId" : "5ecfe5a0f9fcb510c8ec51df", 
                "MD5CheckSum" : "2d28eabe1a046f76e17a58cca6c386f1", 
                "Name" : "RN_2_8_1_1_96781051_2020_05_28_1.xlsm", 
                "SavedDate" : "2020-05-28 16:24:00"
            }, 
            "EntityInfo" : {
                "AgentID" : NumberInt(1507132), 
                "AgentName" : "AES Mexico Generation Holdings, S. de R.L. de C.V.", 
                "NicknameID" : null, 
                "Nickname" : null, 
                "IssuerID" : NumberInt(96781051), 
                "IssuerName" : "AES Mexico Generation Holdings, S. de R.L. de C.V.", 
                "Region" : "Emerging Markets - Americas", 
                "CountryName" : "Mexico", 
                "Sovereign_Agent_ID" : null, 
                "Sector" : "GenCos"
            }, 

请帮助我了解如何将JSON数据转换为可读格式,例如pandas dataframe

1 个答案:

答案 0 :(得分:1)

您的样本不在JSON标准中(或者仅仅是一个样本?)。 单词“ ObjectId”不是字符串或数字。 我认为您可以先尝试https://www.json.cn来验证JSON文件。此错误是关于json而不是DataFrame的。