Como procurar dados em json usando python

Como procurar dados em json usando python

Uma das técnicas de serialização de dados mais usadas é o formato JSON. O Python tem um módulo embutido JSON para trabalhar com dados JSON. Ele suporta todos os tipos de tipos de dados primitivos, como número, string, etc, juntamente com objetos python. Os dados são armazenados em um formato estruturado em JSON. Às vezes é necessário pesquisar dados específicos de uma grande string json ou um arquivo json. Existem muitas maneiras de procurar dados específicos dos dados JSON. Como os dados JSON podem ser pesquisados ​​com base na chave ou valor usando o script python é mostrado neste artigo.

Exemplo 1: Chave de pesquisa em dados JSON simples

O script a seguir mostra como pesquisar se uma determinada chave existe em uma string json ou não. Aqui, uma variável nomeada dados do cliente é definido para armazenar os dados JSON. O valor da chave será tomado como entrada do usuário. O método de carga () do módulo JSON é usado para carregar dados JSON na variável nomeada cliente. Próximo, 'em' O operador é usado para pesquisar a chave.

#!/usr/bin/Env Python3
# Importar módulo JSON
importar json
# Defina dados JSON
CustomerData = "" "
"ID": "3425678",
"Nome": "John Micheal",
"Email": "[email protected] ",
"Tipo": "regular",
"Endereço": "4258 Poplar Chase Lane, Boise, Idaho."
"" "
# Insira o valor da chave que você deseja pesquisar
keyval = input ("Digite um valor de chave: \ n")
# Carregar os dados JSON
cliente = json.Cargas (CustomerData)
# Pesquise o valor da chave usando 'em' Operador
Se keyval no cliente:
# Imprima a mensagem de sucesso e o valor da chave
print (" %s é encontrado em dados JSON" %keyval)
print ("o valor de", keyval, "é", cliente [keyval])
outro:
# Imprima a mensagem se o valor não existir
print (" %s não é encontrado em dados JSON" %keyval)

Saída:

O script é executado duas vezes aqui. Um valor de chave existente é fornecido pela primeira vez e um valor de chave inexistente é fornecido pela segunda vez.

Exemplo 2: Pesquise um valor específico em dados JSON

O script a seguir mostra como pesquisar um valor específico nos dados JSON. candidatos A variável contém os dados json em que a chave é usada para armazenar o nome e o valor do candidato é usado para armazenar o requerente está presente ou ausente. O script pesquisará o valor "ausente" nos dados JSON e imprimirá o valor do nome correspondente. para O loop é usado aqui, item os dados JSON.

#!/usr/bin/Env Python3
# Importar módulo JSON
importar json
# Defina dados JSON
candidatos = "" "
"Scott C Aldridge": "presente",
"Joe L Foss": "presente",
"Clyde m Gold": "presente",
"Monique C Doolittle": "ausente",
"David M Volkert": "presente",
"Israel m oneeal": "presente",
"Elizabeth M Groff": "ausente"
"" "
# Inicialize um contador
contador = 0
# Carregar os dados JSON
Applista = JSON.Cargas (candidatos)
# itera o JSON para encontrar a lista de candidatos ausentes
Para chave no Applista:
if (applista [key] == 'ausente'):
# Verifique o balcão da mensagem da impressão
if (contador == 0):
Print ("Os seguintes candidatos estão ausentes:")
Imprimir (chave)
contador = contador + 1
# Imprima a mensagem se nenhum candidato estiver ausente
if (contador == 0):
Impressão ("Todos os candidatos estão presentes")

Saída:

De acordo com os dados JSON do script, dois candidatos estão ausentes. Esta será a saída resultante após a execução do script:

Exemplo 3: Valor da Pesquisa em Dados da Array JSON usando a função personalizada

No script a seguir, uma matriz JSON nomeada Jsondata é definido. Um valor específico de uma chave será pesquisado aqui e se o valor existir, o valor de outra chave relacionada será impressa como saída. Search_price () A função é definida aqui, pegue o valor do nome chave que será pesquisada nos dados JSON e imprimirá o valor do correspondente preço unitário chave.

#!/usr/bin/Env Python3
# Importar módulo JSON
importar json
# Defina a variável JSON
jsondata = "" "[

"Nome": "caneta",
"Unit_price": 5
,

"Nome": "Eraser",
"Unit_price": 3
,

"Nome": "lápis",
"Unit_price": 10
,

"Nome": "Paper Branco",
"Unit_price": 15

] "" ""
# Carregar os dados JSON
itens = json.Cargas (Jsondata)
# Insira o nome do item que você deseja pesquisar
Item = entrada ("Digite um nome de item: \ n")
# Defina uma função para pesquisar o item
def Search_price (nome):
Para keyval em itens:
se nome.inferior () == keyval ['nome'].mais baixo():
Retornar Keyval ['Unit_price']
# Verifique o valor de retorno e a mensagem de impressão
if (search_price (item) != Nenhum):
print ("O preço é:", Search_price (item))
outro:
impressão ("Item não é encontrado")

Saída:

O script é executado duas vezes nesta saída. 'lápis' é tomado como o valor do nome chave que existe no JSON dados. O preço unitário de 'lápis' é 10 que é impresso. Próximo, 'livro' é considerado um valor de entrada que não existe nos dados JSON.

Exemplo-4: Chave de pesquisa em dados JSON aninhados

O script a seguir mostra etapas para pesquisar o valor de uma chave específica nos dados JSON aninhados. Aqui, uma variável JSON aninhada nomeada NtestData é declarado para armazenar dados aninhados. Este script pesquisará o nome da marca das mulheres que assistem.

#!/usr/bin/Env Python3
# Importar módulo JSON
importar json
# Defina a variável JSON de dados aninhados
nesteddata = "" "
"assistir":
"homens":
"Brand": "Titan",
"Preço": 200
,
"mulheres":
"Brand": "Citizen",
"Preço": 250
,
"criança":
"Brand": "Blancpain",
"Preço": 100


"" "
# Carregar os dados JSON
Lista de observação = JSON.Cargas (NtestData)
# Search 'Brand' para mulheres
Se 'marca' na lista de observação ['watch'] ['mulheres']:
Print (Lista de relógios ['Watch' ['Women' ['Brand']))

Saída:

No script acima, há apenas um valor de marca para as mulheres que assistem que é 'Cidadão'. O seguinte será a saída após executar o script.

Exemplo 5: Pesquise a entrada de um arquivo json usando o método de filtro e lambda

As etapas a seguir mostram como você pode pesquisar a entrada de um arquivo JSON com base em uma chave e valores específicos. O conteúdo de livros.JSON O arquivo é dado abaixo.

livros.JSON

[[

"ISBN": "7799349885",
"Nome": "Fundamentos da dinâmica do veículo",
"Autor": "Joop P. Pauwelussen "
,

"ISBN": "7799349885",
"Nome": "fluxo e combustão nos motores alternativos",
"Autor": "C. Arcoumanis e T. Kamimoto "
,

"ISBN": "7799349885",
"Nome": "Interação do veículo de motorista da ergonomia automotiva",
"Autor": "Nikolaos Gkikas"

]

O script a seguir pesquisará a entrada de livros.JSON arquivo, onde o valor de o autor chave é Nikolaos Gkikas usando Lambda e filtro() método.

#!/usr/bin/Env Python3
# Importar módulo JSON
importar json
# Abra o arquivo JSON existente para carregar em uma variável
com open ('livros.JSON ') como JSONDATA:
dados = json.Carga (Jsondata)
# Pesquise dados com base na chave e valor usando o método de filtro e listão
Print (lista (filtro (lambda x: x ["autor"] == "nikolaos gkikas", dados)))))

Saída:

A saída a seguir aparecerá após a execução do script.

Conclusão:

Ao trabalhar com uma grande quantidade de dados JSON e precisar descobrir as informações específicas dos dados com facilidade, precisamos usar maneiras eficientes de fazer a tarefa. Diferentes maneiras de pesquisar a chave e o valor nos dados JSON são explicados neste artigo para ajudar os usuários do Python a executar o processo com sucesso.