Convertir JSON a CSV en Python

La forma completa de JSON es la notación de objetos de JavaScript . Significa que un archivo de secuencia de comandos (ejecutable) que está hecho de texto en un lenguaje de programación se utiliza para almacenar y transferir los datos. Python admite JSON a través de un paquete integrado llamado JSON. Para usar esta función, importamos el paquete JSON en el script de Python. El texto en JSON se realiza a través de una string entre comillas que contiene el valor en el mapeo de clave-valor dentro de { }. Es similar al diccionario en Python.
 

CSV (valores separados por comas) es un formato de archivo simple que se utiliza para almacenar datos tabulares, como una hoja de cálculo o una base de datos. El archivo CSV almacena datos tabulares (números y texto) en texto sin formato. Cada línea del archivo es un registro de datos. Cada registro consta de uno o más campos, separados por comas. El uso de la coma como separador de campo es el origen del nombre de este formato de archivo.
 

Consulte los siguientes artículos para comprender los conceptos básicos de JSON y CSV. 
 

Convertir JSON a CSV

Para datos JSON simples que consisten en pares de clave y valor, las claves serán encabezados para el archivo CSV y los valores serán los datos descriptivos.
 

Ejemplo: Supongamos que el archivo JSON se ve así:
 

python-json-to-csv

Queremos convertir el archivo JSON anterior a CSV con la clave como encabezados.
 

Python3

# Python program to convert
# JSON file to CSV
 
 
import json
import csv
 
 
# Opening JSON file and loading the data
# into the variable data
with open('data.json') as json_file:
    data = json.load(json_file)
 
employee_data = data['emp_details']
 
# now we will open a file for writing
data_file = open('data_file.csv', 'w')
 
# create the csv writer object
csv_writer = csv.writer(data_file)
 
# Counter variable used for writing
# headers to the CSV file
count = 0
 
for emp in employee_data:
    if count == 0:
 
        # Writing headers of CSV file
        header = emp.keys()
        csv_writer.writerow(header)
        count += 1
 
    # Writing data of CSV file
    csv_writer.writerow(emp.values())
 
data_file.close()

Producción:
 

python-json-to-csv-output

Y, si está trabajando en datos JSON como los siguientes:

[

    {‘Edad’: 18.0, ‘Salario’: 20000.0, ‘Género’: ‘Masculino’, ‘País’: ‘Alemania’, ‘Comprado’: ‘N’}

    {‘Edad’: 19.0, ‘Salario’: 22000.0, ‘Género’: ‘Mujer’, ‘País’: ‘Francia’, ‘Comprado’: ‘N’}

    {‘Edad’: 20,0, ‘Salario’: 24000,0, ‘Género’: ‘Mujer’, ‘País’: ‘Inglaterra’, ‘Comprado’: ‘N’}

]

El siguiente código funcionará perfectamente para usted (formatee el código antes de ejecutarlo)

Python3

import json
import csv
 
with open('G:\Akhil\jsonoutput.json') as json_file:
    jsondata = json.load(json_file)
 
data_file = open('G:\Akhil\jsonoutput.csv', 'w', newline='')
csv_writer = csv.writer(data_file)
 
count = 0
for data in jsondata:
    if count == 0:
        header = data.keys()
        csv_writer.writerow(header)
        count += 1
    csv_writer.writerow(data.values())
 
data_file.close()

Publicación traducida automáticamente

Artículo escrito por ksinghshubh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *