【问题标题】:How to read Json file and convert it to dataframe如何读取 Json 文件并将其转换为数据框
【发布时间】:2020-07-30 14:24:08
【问题描述】:

我试图读取 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: Expecting value: line 2 column 13 (char 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 数据帧

【问题讨论】:

  • 这不是一个有效的 json。
  • "_id" : ObjectId("5ecfe5a0f9fcb510c8ec51e5") 在我看来很可疑。

标签: json python-3.x pandas


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-10-09
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 2017-06-10
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多