python Analisando valores de um arquivo JSON?





4 Answers

Seu data.json deve ficar assim:

{
 "maps":[
         {"id":"blabla","iscategorical":"0"},
         {"id":"blabla","iscategorical":"0"}
        ],
"masks":
         {"id":"valore"},
"om_points":"value",
"parameters":
         {"id":"valore"}
}

Seu código deve ser:

import json
from pprint import pprint

with open('data.json') as data_file:    
    data = json.load(data_file)
pprint(data)

Observe que isso funciona apenas no Python 2.6 e superior, pois depende da with-statement . Em Python 2.5 use from __future__ import with_statement , em Python <= 2.4, veja a resposta de Justin Peel , na qual esta resposta é baseada.

Agora você também pode acessar valores únicos como este:

data["maps"][0]["id"]  # will return 'blabla'
data["masks"]["id"]    # will return 'valore'
data["om_points"]      # will return 'value'
python json parsing

Eu tenho este JSON em um arquivo:

{
    "maps": [
        {
            "id": "blabla",
            "iscategorical": "0"
        },
        {
            "id": "blabla",
            "iscategorical": "0"
        }
    ],
    "masks": [
        "id": "valore"
    ],
    "om_points": "value",
    "parameters": [
        "id": "valore"
    ]
}

Eu escrevi este script que imprime todo o texto json:

json_data=open(file_directory).read()

data = json.loads(json_data)
pprint(data)

Como posso analisar o arquivo e extrair valores únicos?




data = []
with codecs.open('d:\output.txt','rU','utf-8') as f:
    for line in f:
       data.append(json.loads(line))



Se você está em python 3 aqui é como você pode fazê-lo

{
  "connection1": {
    "DSN": "con1",
    "UID": "abc",
    "PWD": "1234",
    "connection_string_python":"test1"
  }
  ,
  "connection2": {
    "DSN": "con2",
    "UID": "def",
    "PWD": "1234"
  }
}

O código deve ser semelhante ao assumir que o arquivo connection.json é semelhante ao acima

connection_file = open('connection.json', 'r')
conn_string = json.load(connection_file)
conn_string['connection1']['connection_string_python'])
connection_file.close()
>>>test1



Existem dois tipos nesta análise.

  1. Analisando dados de um arquivo de um caminho do sistema
  2. Analisando o JSON a partir do URL remoto.

De um arquivo, você pode usar o seguinte

import json
json = json.loads(open('/path/to/file.json').read())
value = json['key']
print json['value']

Este artigo explica a análise completa e obtendo valores usando dois cenários. Analisando JSON usando Python




Related