Analisar JSON em Python - 3 passos simples

Guias, Como fazer, Python, Mar-06-20245 minutos de leitura

A análise de dados JSON utilizando Python facilita a transformação de dados com a sua qualidade ligeira. A International Data Corporation prevê que, até 2022, a indústria de Big Data e de negócios aumentará 62% em relação a 2018. Uma vez que a partilha de dados é algo bastante comum no mundo digital, as pessoas tencionam enviar uma grande quantidade de dados dos seus servidores principais para

A análise de dados JSON utilizando Python facilita a transformação de dados com a sua qualidade ligeira. A International Data Corporation prevê que, até 2022, a indústria de Big Data e de negócios aumentará 62% em relação a 2018. Uma vez que a partilha de dados é algo bastante comum no mundo digital, as pessoas tencionam enviar cargas de dados dos seus servidores principais para aplicações cliente ou de um servidor para outras bases de dados. As pessoas dependem fortemente de formatos de ficheiros de intercâmbio de dados, como o JSON, para transmitir os dados para o dispositivo do outro lado, que os converte num formato legível pelo utilizador. Neste artigo, vamos explorar o que é JSON, como analisar JSON em Python e porquê?

Índice

Porquê analisar JSON em Python?

Como o JSON é um formato leve, este facto facilita a transformação em termos de tempo e velocidade. É por esta razão que os profissionais de dados preferem enviar e receber mensagens em formatos JSON. Mas, quando os dados transformados requerem outras operações, os utilizadores têm de os converter numa linguagem compreensível por máquinas. É por isso que as pessoas analisam o JSON em python. Neste caso, estamos a trabalhar com a linguagem Python. Assim, teremos de ler e analisar o JSON utilizando as bibliotecas e funções Python para aceder aos dados.

Para saber a importância da análise de dados, consulte este artigo Análise de dados e benefícios.

O que é o JSON?

O Javascript Object Notation (JSON) é um formato de dados leve que transmite informações de um servidor para uma aplicação Web num formato legível pelo utilizador. Embora o formato JSON seja um derivado do JavaScript, utiliza o formato de texto para representar os objectos. As máquinas podem analisar JSON em Python para converter dados JSON num formato legível por máquina.

Amostra de dados JSON

{
   "person": [
 
      {
         "name": "John",
         "age": "26",
         "languages": ["C", “Python”]
      },
 
      {
         “name": “Nitin",
         "age": "24",
         "languages": ["Java", “Python”]
      }
   ]
}

Aqui está a amostra da cadeia de caracteres JSON. O conteúdo entre parênteses rectos é um objeto e os dados entre parênteses rectos são uma matriz. 

Como analisar JSON em Python

The JSON string {“name”: “John”, “age”: “26”, “languages”: [“C”, “Python”]} is similar to the dictionaries in Python. Just like dictionaries, JSON also has keys and values. Here the keys and value pairs are separated with a colon. The ‘name,’ ‘age,’ and ‘languages’ are the keys, and the data after the colon are the values of the respective keys. JSON can be accessed in Python using the JSON library that holds all the functions to convert the JSON strings into Python dictionaries and vice versa. 

O Python pode aceder a dados JSON importando a biblioteca JSON no código python. O módulo JSON em Python permite ao utilizador ler, escrever, analisar e efetuar outras operações em dados JSON.

 importar json

Analisar dados JSON em objectos Python

Os dados JSON são de muitos tipos, como cadeias de caracteres, matrizes, objectos, números, ficheiros e muitos outros. 

Python Parse JSON - Objeto Python Equivalente

Depois de receber os dados JSON, a principal tarefa é converter os dados JSON em tipos de dados Python. Esta tabela mostra a lista de tipos de dados JSON e os seus formatos Python equivalentes.

Tipos de dados JSONTipos de dados Python
objetoditado
matrizlista, tupla
cordastr
númeroint, float
verdadeiroVerdadeiro
falsoFalso
nenhumNulo

Steps to Parse different JSON Data into Python

Aqui vamos aprender como analisar certos dados JSON para o seu formato Python equivalente. 

JSON Strings em Dicionários PythonJSON Array em Listas PythonJSON File em Objectos Python. 

Analisar JSON em Python - Converter cadeias de caracteres em dicionários

Considere um exemplo de cadeia JSON.

{
  "name": "John", 
  "age": "26"
 }

Atribuir a cadeia de caracteres a uma variável pode facilitar as operações de análise, passando a variável para as funções. Exemplo: print(pessoa)

person ='{"name": "John", "age": "26"}'

A instrução print(person) imprimirá a cadeia de caracteres. 

person ='{"name": "John", "age": "26"}'
print(person)

Saída 

{“name”: “John”, “age”: “26”}

O facto de passar a variável para a função type() garante que os dados são uma cadeia de caracteres.

person ='{"name": "John", "age": "26"}'
 print(person)
 print(type(person))

Saída 

{“name”: “John”, “age”: “26”}

<class ‘str’>

Conversão de cadeias de caracteres em dicionários

O passo inicial é analisar os dados JSON, que estão em forma de cadeia de caracteres, para uma forma compatível com Python. Como discutido anteriormente, as cadeias de caracteres JSON e os dicionários Python são bastante semelhantes, uma vez que ambos têm uma estrutura de pares chave-valor. Para ler e analisar os dados JSON em Python, vamos primeiro importar a biblioteca JSON. A função loads() é utilizada para analisar cadeias de caracteres JSON num dicionário Python. O 's' na função loads() indica a cadeia de caracteres.

importar json
 json.loads(STRNAME)

Consideremos a cadeia de caracteres JSON de amostra que imprimimos na amostra acima. 

person ='{"name": "John", "age": "26"}'
 print(person)

Utilizar a função json.loads() para converter a cadeia de caracteres para o dicionário python. O 'json' em json.loads() indica o nome da biblioteca. 

json.loads(pessoa)

Também é necessário atribuir a instrução load() a uma nova variável. Neste caso, utilizámos a variável 'person_dxnry'. 

pessoa_dxnry = json.loads(pessoa)pyt

Depois de converter a cadeia de caracteres num dicionário e de a atribuir a uma nova variável, podemos utilizar a função type() para ver o tipo dos dados antes e depois da conversão.

print(tipo(pessoa))
print(tipo(pessoa_dxnry))
import json
 person ='{"name": "John", "age": "26"}'
 print(person)
 print(type(person))
 person_dxnry = json.loads(person)
 print(person_dxnry)
 print(type(person_dxnry))

Saída:

{“name”: “John”, “age”: “26”}

<class ‘str’>

{‘name’: ‘John’, ‘age’: ’26’}

<class ‘dict’>

Aqui, as funções type() mostram que o tipo é uma cadeia de caracteres no caso inicial e depois torna-se um dicionário após a conversão. 

Analisar JSON em Python - Converter uma matriz numa lista

Vamos tentar converter outro tipo de dados JSON numa estrutura Python, utilizando este exemplo de código JSON que tem uma matriz.

{
         "name": "John",
         "age": "26",
         "languages": ["C", “Python”]
      }

Podemos atribuir a matriz a uma variável 'languages' para a passar para a função loads(). De seguida, podemos criar uma nova variável 'language_list' para atribuir o resultado da função loads().

línguas = '["C", "Python"]'
 lista_de_idiomas = json.loads(idiomas)
importar jsonpyt
 linguagens = '["C", "Python"]'
 lista_de_idiomas = json.loads(idiomas)
 print(languages_list)
 print(type(languages_list))

A utilização das funções type() para ambas as variáveis pode ajudar-nos a verificar os tipos de dados.

Saída

['C', 'Python']

<class ‘list’>

Este resultado indica que a matriz JSON em 'languages' é convertida numa lista pela função loads().

Analisar JSON em Python - Ficheiros para objeto

O formato JSON mais comum é uma cadeia de caracteres. Há também grandes probabilidades de receber dados em formato JSON como um ficheiro. Qualquer que seja o tipo de dados, o objetivo final é analisá-los para um formato legível em Python. Há duas funções, como load() e loads(), que podes utilizar para analisar. Estas funções de análise JSON diferem em função do tipo de dados JSON. Discutiremos brevemente estas funções nas secções seguintes.

A biblioteca JSON integrada do Python fornece outra função de conversão 'load()' para ler e analisar o ficheiro JSON em Python. 

Como ler e analisar um ficheiro JSON?

Python Analisar JSON - Três métodos.

O passo inicial é guardar este código de exemplo com o nome 'person.json'

{
         "name": "John",
         "age": "26",
      }

Existem duas funções para analisar um ficheiro JSON. Uma é a função open(). O método open() ajuda a abrir o ficheiro JSON e dá instruções ao compilador para efetuar o processo de conversão utilizando a operação load(). 

com open('person.json') as file:pyt

Depois de abrir o ficheiro JSON, temos de criar uma variável "data" para atribuir as operações de carregamento.

dados = json.load(ficheiro)

Por fim, podemos utilizar a função type() para verificar o tipo de conteúdo.

print(type(data))

Podemos aceder aos elementos do dicionário convertido utilizando a variável 'data' e passando as chaves do dicionário como 'name' e 'age'.

print(dados['idade'])
 print(dados['nome'])
importar json
with open('person.json') as file:
data = json.load(file)
print(type(data))
print(data['age'])
print(data['name'])

Saída:

<class ‘dict’>

26

João

A saída diz que o tipo é "dicionário". Esta saída significa que convertemos com sucesso o ficheiro JSON numa lista.

Escrever Python para JSON

Também podemos converter formulários de dados Python em JSON com as funções dumps() e dump(). Estes são os processos inversos das funções load() e loads(). Vamos pegar num dicionário Python e convertê-lo numa cadeia JSON, utilizando a função dump(). 

 Definimos um dicionário Python como 'person_dictionary'. 

person_dictionary = {'name': 'John', 'age': 26 }

Utilize a função dumps() para efetuar a operação de conversão e atribua-a a uma nova variável 'person_json'.

pessoa_json = json.dumps(dicionário_de_pessoas)
 print(pessoa_json)
import json
person_dictionary = {'name': 'John',
 'age': 26
 }
 person_json = json.dumps(person_dictionary)
 print(person_dictionary)
 print(type(person_dictionary))
 print(person_json)
 print(type(person_json))

Saída:

{‘name’: ‘John’, ‘age’: 26}

<class ‘dict’>

{“name”: “John”, “age”: 26}

<class ‘str’>

A utilização da função type() em ambas as variáveis 'person_dictioanry' e 'person_json' garante que o formato Python é convertido numa cadeia JSON.

Como é que os Proxies podem ajudar?

A análise JSON é amplamente preferida em aplicações de transformação de dados, como a recolha, a análise, as migrações de dados e os processos de integração de dados. Essas soluções com proxies ajudarão você a ter uma melhor experiência de raspagem e transformação ilimitada de dados usando python. Leia este blogue para saber como adicionar proxies com pedidos python. Proxyscrape O blogue fornece proxies de vários tipos para ajudar neste processo de análise.

Lê também

Compreender os mandatários escolares

Como configurar proxies cURL

Encadeamento de proxy

Perguntas frequentes:

1. Porquê analisar JSON em Python?
A análise JSON também é possível com algumas outras linguagens. A análise Python é bastante popular, uma vez que fornece um pacote JSON integrado que permite ler, converter e escrever facilmente dados JSON. Esta análise é útil em aplicações como a raspagem da Web, a raspagem de notícias, a recolha de dados, a extração de dados, a raspagem de motores de pesquisa e as indústrias de marketing, sempre que é necessária a transformação de dados.
2. Cite algumas linguagens que suportam JSON?
O formato JSON é compatível com C++, Java, PHP, C# e Python.
3. O que são objectos JSON?
Os objectos JSON são colecções de pares de nomes e valores entre chavetas. Cada par nome/valor é separado por uma vírgula, enquanto o nome é seguido por dois pontos.

Resumo

O JSON tornou-se um elemento essencial quando se trabalha em sítios Web. Sempre que é necessário transferir ou partilhar dados, as pessoas utilizam frequentemente o formato JSON, que é leve e facilmente intercambiável. O formato JSON assemelha-se mais a uma forma de texto, pelo que os utilizadores podem compreender facilmente o conteúdo. A máquina também pode ler e analisar o conteúdo para um formato de fácil utilização. Aqui, discutimos algumas funcionalidades de conversão em Python, como open(), load(), loads(), dump() e dumps(). Estas funções integradas do módulo JSON podem ler e analisar dados do formato JSON para tipos de dados Python e vice-versa.