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í:
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:
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