Извлечение данных с помощью Python из JSON - PullRequest
0 голосов
/ 27 октября 2018

Я довольно noob в Python и JSON и, прежде всего, IDK, если можно сделать то, что я хочу сделать.

У меня есть очень вложенный файл json, что-то вроде этого:

{
"project": {
    "project_name" :"name"
}

"positions": {
    "file": {
        "name": "name",
        "analysis": {
            "components": {
                "first_component": {
                    "modes":{
                        "mode_1",
                        "type":{
                            "loads":{
                                "load_type": {
                                    "value": 111111
                                }
                            }
                            "design_value": 111111
                        }
                    }       
                }
            }
        }   
    }
}

Файл json более сложный, я показал вам только одно значение одного типа загрузки. То, что я хочу извлечь, это имя, которое появляется в "first_component", "type", "load_type", "value" и "design_value".

Когда я получу эти значения, идея будет поместить их в файл Excel. Таким образом, код Python будет работать как «фильтр».

Я не прошу кусок кода, который делает эту работу, это было бы несправедливо. Я прошу способ с этим справиться, чему я должен научиться, любые советы будут приветствоваться.

Спасибо большое! .

1 Ответ

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

JSON - это нотация для выражения объекта JavaScript в виде строки.

Когда вы анализируете строку JSON в Python, вы получаете объект типа dict - словарь.

Поэтому я бы посоветовал вам прочитать о словарях и методах их индексирования ...

Чтобы начать, просто подумайте о следующем:

>>> d = {'another_dict': {3: 4, 'one_more': {7: 7, 'dog': 'woof'}}, 'cat': 'meow'}
>>> d['another_dict']
{3: 4, 'one_more': {7: 7, 'dog': 'woof'}}
>>> d['another_dict'][3]
4
>>> d['another_dict']['one_more']
{7: 7, 'dog': 'woof'}
>>> d['another_dict']['one_more']['dog']
'woof'
>>> d['cat']
'meow'

И с точки зрения загрузки в JSON:

>>> import json
>>> d = json.loads('{"cat": "meow"}')
>>> d
{'cat': 'meow'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...