Управление большим JSON с помощью Python - PullRequest
0 голосов
/ 09 октября 2018

У меня есть довольно большой файл данных в форме .json, которым я хотел бы манипулировать, следующей формы, которая похожа на многие объекты json вместе:

[
{ 
    "_id" : "...", 
    "idSession" : "...", 
    "createdAt" : "1526894989268", 
    "status" : "COMPLETE", 
    "raw" : "Bobsguide,Marketing Assistant,Sales / Marketing79642,Baitshepi,,etc", 
    "updatedAt" : "...", 
    "graphResults" : [

        [
            "lastName", 
            "stock"
        ], 
        [
            "country", 
            "Botswana"
        ], 
        [
            "location", 
            "Botswana  "
        ], 
        [
            "city", 
            "-"
        ], 
        [
            "state", 
            "-"
        ], 
        [
            "school", 
            "Heriot-Watt University"
        ], 
        [
            "skills", 
            "Budgeting,Business Process Improvement,Business Planning"
        ], 

    ], 

    "eid" : {
        "###" : "12020653-1889-35be-8009-b1c9d43768ac"
    }
}

{ 
    "_id" : "...", 
    "idSession" : "...", 
    "createdAt" : "1526894989268", 
    "status" : "COMPLETE", 
    "raw" : "Bobsguide,79619,Steven,example,steven.jones@example.com,Marketing Assistant,Sales,,etc", 
    "updatedAt" : "...", 
    "graphResults" : [
        [
            "country", 
            "United Kingdom"
        ], 
        [
            "location", 
            "United Kingdom London London"
        ], 
        [
            "city", 
            "London"
        ], 
        [
            "state", 
            "London"
        ], 
        [
            "skills", 
            "Solvency II,Liquidity Risk,Screening,etc"
        ]
    ], 

    "eid" : {
        "###" : "..."
    }
}

...



]

Есть ли прямой способдля меня, чтобы прочитать это в сценарий Python для манипуляции / анализа.Основные части интереса находятся под маркировкой результатов графика и необработанных.Я неопытен с этой формой необработанных данных, поэтому любая помощь очень ценится.

1 Ответ

0 голосов
/ 10 октября 2018

Прежде всего, данные, которые вы разместили в неправильном виде, должны быть примерно такими, как указано ниже, и для доступа к элементам, которые вы упомянули, вы можете попробовать следующее

{
    "test":[
    { 
        "_id" : "...", 
        "idSession" : "...", 
        "createdAt" : "1526894989268", 
        "status" : "COMPLETE", 
        "raw" : "Bobsguide,Marketing Assistant,Sales /             Marketing79642,Baitshepi,,etc", 
        "updatedAt" : "...", 
        "graphResults" : [

            [
                "lastName", 
                "stock"
            ], 
            [
                "country", 
                "Botswana"
            ], 
            [
                "location", 
                "Botswana  "
            ], 
            [
                "city", 
                "-"
            ], 
            [
                "state", 
                "-"
            ], 
            [
                "school", 
                "Heriot-Watt University"
            ], 
            [
                "skills", 
                "Budgeting,Business Process Improvement,Business Planning"
            ]
        ], 
        "eid" : {
            "###" : "12020653-1889-35be-8009-b1c9d43768ac"
        }
        },
        { 
            "_id" : "...", 
            "idSession" : "...", 
            "createdAt" : "1526894989268", 
            "status" : "COMPLETE", 
            "raw" : "Bobsguide,79619,Steven,example,steven.jones@example.com,Marketing     Assistant,Sales,,etc", 
            "updatedAt" : "...", 
            "graphResults" : [
                [
                    "country", 
                    "United Kingdom"
                ], 
                [
                    "location", 
                    "United Kingdom London London"
                ], 
                [
                    "city", 
                    "London"
                ], 
                [
                    "state", 
                    "London"
                ], 
                [
                    "skills", 
                    "Solvency II,Liquidity Risk,Screening,etc"
                ]
            ], 

            "eid" : {
                "###" : "..."
            }
        }
    ]
}

// Ответ

import json

data_file = open('data.json', 'r')
information = json.load(data_file) // this will give you a json obj

print(information['test'][1]['raw']) // would pick element 1 from array then 

выбрать и распечатать значение в необработанном ключе

print(information['test'][1]['graphResults']) // would pick element 1 from array then pick and print value in raw key
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...