Pitão

Como pesquisar dados em JSON usando python

Como pesquisar dados em JSON usando python

Uma das técnicas de serialização de dados mais usadas é o formato JSON. 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, junto com objetos Python. Os dados são armazenados em um formato estruturado em JSON. Às vezes, é necessário pesquisar um dado específico de uma grande string JSON ou um arquivo JSON. Existem muitas maneiras de pesquisar dados específicos de 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 chamada dados do cliente é definido para armazenar os dados JSON. O valor da chave será tomado como entrada do usuário. O método load () do módulo JSON é usado para carregar dados JSON na variável chamada cliente. Próximo, 'dentro' operador é usado para pesquisar a chave.

#!/ usr / bin / env python3
# Importar módulo json
import json
# Defina os dados json
customerData = "" "
"id": "3425678",
"nome": "John Micheal",
"email": "[email protegido]",
"tipo": "normal",
"endereço": "4258 Poplar Chase Lane, Boise, Idaho."
"" "
# Insira o valor-chave que você deseja pesquisar
keyVal = input ("Insira um valor-chave: \ n")
# carregue os dados json
cliente = json.carrega (customerData)
# Pesquise o valor-chave usando o operador 'in'
se keyVal no cliente:
# Imprima a mensagem de sucesso e o valor da chave
print ("% s é encontrado nos dados JSON"% keyVal)
print ("O valor de", keyVal, "é", cliente [keyVal])
senão:
# Imprime a mensagem se o valor não existir
print ("% s não foi encontrado nos dados JSON"% keyVal)

Resultado:

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

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

O script a seguir mostra como pesquisar um determinado valor em dados JSON. candidatos variável contém os dados JSON onde a chave é usada para armazenar o nome do requerente e o valor é usado para armazenar se o requerente está presente ou ausente. O script pesquisará o valor 'Ausente' nos dados JSON e imprimirá o valor do nome correspondente. para loop é usado aqui para iterar os dados JSON.

#!/ usr / bin / env python3
# Importar módulo json
import json
# Defina os 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 Oneal": "Presente",
"Elizabeth M Groff": "Ausente"
"" "
# Inicializar um contador
contador = 0
# carregue os dados json
appList = json.cargas (candidatos)
# iterate json para encontrar a lista de candidatos ausentes
para chave em appList:
if (appList [key] == 'Absent'):
# Verifique o contador para imprimir a mensagem
if (contador == 0):
imprimir ("Os seguintes candidatos estão ausentes:")
imprimir (chave)
contador = contador + 1
# Imprima a mensagem se nenhum candidato estiver ausente
if (contador == 0):
imprimir ("Todos os candidatos estão presentes")

Resultado:

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 de pesquisa em dados da matriz JSON usando a função personalizada

No script a seguir, uma matriz JSON chamada jsondata é definido. Um determinado valor de uma chave será pesquisado aqui e se o valor existir então o valor de outra chave relacionada será impresso como saída. search_price () função é definida aqui, pegue o valor de 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
import json
# Defina a variável json
jsondata = "" "[

"nome": "Caneta",
"preço_unidade": 5
,

"nome": "Borracha",
"preço_unidade": 3
,

"nome": "Lápis",
"preço_unidade": 10
,

"nome": "Livro Branco",
"preço_unidade": 15

] "" "
# carregue os dados json
items = json.carrega (jsondata)
# Insira o nome do item que deseja pesquisar
item = input ("Insira 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'].diminuir():
return keyval ['unit_price']
# Verifique o valor de retorno e imprima a mensagem
if (search_price (item) != Nenhum):
print ("O preço é:", search_price (item))
senão:
imprimir ("Item não encontrado")

Resultado:

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 as etapas de pesquisa do valor de uma chave específica nos dados JSON aninhados. Aqui, uma variável JSON aninhada chamada nestedData é declarado para armazenar dados aninhados. Este script irá pesquisar o nome da marca do relógio feminino.

#!/ usr / bin / env python3
# Importar módulo json
import json
# Defina a variável json de dados aninhados
nestedData = "" "
"ver":
"homens":
"marca": "Titan",
"preço": 200
,
"mulheres":
"marca": "Cidadão",
"preço": 250
,
"miúdo":
"marca": "Blancpain",
"preço": 100


"" "
# Carregue os dados json
watchlist = json.carrega (nestedData)
# Pesquise 'marca' para mulheres
se 'marca' na lista de observação ['assistir'] ['mulheres']:
imprimir (lista de observação ['assistir'] ['mulheres'] ['marca'])

Resultado:

No script acima, há apenas um valor de marca para relógios femininos que é 'Cidadão'. O seguinte será o resultado após a execução do script.

Exemplo-5: entrada de pesquisa 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 arquivo é dado abaixo.

livros.json

[

"isbn": "7799349885",
"name": "Essentials of Vehicle Dynamics",
"autor": "Joop P. Pauwelussen "
,

"isbn": "7799349885",
"nome": "Fluxo e Combustão em Motores Alternativos",
"autor": "C. Arcoumanis e T. Kamimoto "
,

"isbn": "7799349885",
"name": "Automotive Ergonomics Driver Vehicle Interaction",
"autor": "Nikolaos Gkikas"

]

O seguinte script irá 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
import json
# Abra o arquivo JSON existente para carregar em uma variável
com aberto ('livros.json ') como jsondata:
data = json.carregar (jsondata)
# Pesquise dados com base na chave e no valor usando o método de filtro e lista
imprimir (lista (filtro (lambda x: x ["autor"] == "Nikolaos Gkikas", dados)))

Resultado:

A seguinte saída 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, temos que usar maneiras eficientes de fazer a tarefa. Diferentes maneiras de pesquisar chave e valor em dados JSON são explicadas neste artigo para ajudar os usuários de Python a realizar o processo com sucesso.

Análise do mouse sem fio Microsoft Sculpt Touch
Recentemente li sobre o Microsoft Sculpt Touch mouse sem fio e decidi comprá-lo. Depois de usá-lo por um tempo, decidi compartilhar minha experiência ...
AppyMouse na tela Trackpad e ponteiro do mouse para tablets Windows
Os usuários de tablets costumam perder o ponteiro do mouse, especialmente quando costumam usar laptops. Os smartphones e tablets touchscreen vêm com m...
O botão do meio do mouse não funciona no Windows 10
O botão do meio do mouse ajuda você a percorrer longas páginas da web e telas com muitos dados. Se isso parar, você vai acabar usando o teclado para r...