JSON para CSV em Python
-
Use o método Pandas DataFrames
to_csv()
para converter JSON em CSV em Python -
Use o módulo
csv
para converter JSON em um arquivo CSV
JSON significa JavaScript Object Notation
. É baseado no formato de objetos em JavaScript e é uma técnica de codificação para representar dados estruturados. É amplamente utilizado atualmente, especialmente para compartilhar dados entre servidores e aplicativos da web.
Um arquivo CSV é usado para armazenar dados em um formato tabular, como planilhas do Excel.
Neste tutorial, aprenderemos como converter dados JSON em um arquivo CSV.
Use o método Pandas DataFrames to_csv()
para converter JSON em CSV em Python
Neste método, primeiro converteremos o JSON em um Pandas DataFrame e a partir daí converteremos em um arquivo CSV usando o método to_csv()
. Podemos ler a string JSON usando a função json.loads()
que é fornecida na biblioteca json
em Python para converter JSON em DataFrame. Em seguida, passamos esse objeto JSON para a função json_normalize()
que retornará um Pandas DataFrame contendo os dados necessários.
O trecho de código a seguir irá explicar como fazemos isso.
import pandas as pd
import json
data = """
{
"Results":
[
{ "id": "1", "Name": "Jay" },
{ "id": "2", "Name": "Mark" },
{ "id": "3", "Name": "Jack" }
],
"status": ["ok"]
}
"""
info = json.loads(data)
df = pd.json_normalize(info["Results"])
df.to_csv("samplecsv.csv")
O conteúdo do arquivo CSV criado está abaixo.
,id,Name
0,1,Jay
1,2,Mark
2,3,Jack
Use o módulo csv
para converter JSON em um arquivo CSV
Neste método, usaremos a biblioteca csv
em Python que é usada para ler e escrever arquivos CSV. Primeiro, leremos os dados JSON como fizemos no método anterior. Abrimos um arquivo no modo de gravação e usamos o DictWriter()
do módulo csv
para criar um objeto que nos permite mapear e gravar dados JSON no arquivo. Os fieldnames
são chaves que são identificadas e combinadas com os dados quando escrevemos linhas usando a função writerows()
.
O seguinte snippet de código mostrará como podemos implementar o método acima:
import csv
import json
data = """
{
"Results":
[
{ "id": "1", "Name": "Jay" },
{ "id": "2", "Name": "Mark" },
{ "id": "3", "Name": "Jack" }
],
"status": ["ok"]
}
"""
info = json.loads(data)["Results"]
print(info[0].keys())
with open("samplecsv.csv", "w") as f:
wr = csv.DictWriter(f, fieldnames=info[0].keys())
wr.writeheader()
wr.writerows(info)
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArtigo relacionado - Python JSON
- Obter JSON de URL em Python
- Como imprimir um ficheiro JSON em Python
- Converter JSON em dicionário em Python
- POSTAR dados JSON com requests em Python
- Escreva JSON em um arquivo em Python
- Converter arquivo CSV em arquivo JSON em Python