Cómo convertir JSON a CSV en Python

Manos de mujer codificación html y programación en pantalla portátil, Web, desarrollador.

Cómo convertir JSON a CSV en Python

Credito de imagen: oatawa / iStock / GettyImages

Puedes convertir JSON a CSV en el lenguaje de programación Python utilizando bibliotecas integradas que vienen con el idioma. Puede recorrer el objeto JSON y generar sus claves y valores como filas en un archivo de valores separados por comas. Tenga en cuenta que no todos los archivos JSON se pueden representar fácilmente como archivos CSV únicos, por lo que, según el formato, es posible que deba usar varios archivos CSV para representar todos los datos de una manera útil.

Comprensión de JSON y CSV

Los archivos JSON y CSV son dos formas comunes de representar datos digitales. JSON significa Notación de objetos JavaScripty es una forma de representar datos como asignaciones anidadas de claves a valores, así como listas de datos. Está inspirado en cómo se representan los datos en el lenguaje de programación JavaScript, pero muchos lenguajes de programación modernos, incluido Python, tienen herramientas para procesar datos JSON.

Video del día

A valor separado por comas file es otra forma de representar datos estructurados. Estos archivos se utilizan a menudo con hojas de cálculo y tipos de programas similares, por lo que si desea importar JSON a Excel puede ser útil convertirlo primero en un archivo CSV. Generalmente, los archivos CSV incluyen encabezados de columna en la parte superior del archivo que indican lo que se almacena en cada columna. Luego, cada línea del archivo consta de varios valores, uno para cada columna, separados por comas. Hay reglas especiales para manejar datos con comas.

Al igual que con los archivos JSON, existen muchas herramientas en muchos lenguajes de programación, incluido Python, para generar y leer archivos CSV.

Convierta JSON a CSV

Puede convertir JSON a CSV utilizando las bibliotecas JSON y CSV integradas en Python. Impórtelos a su código agregando líneas que digan "importar json" e "importar csv" cerca de la parte superior de su código.

Luego, use la biblioteca JSON "carga"método para importar los datos de un archivo JSON. Se cargará como un diccionario de Python. Utilice el diccionario "teclas"método para determinar los campos de datos en el archivo JSON que se convertirán en las columnas de su archivo CSV.

Utilice la biblioteca CSV "DictWriter " class para crear un archivo CSV con esas columnas, especificándolas usando el "nombres de campo " argumento. Utilice su "encabezados de escritura"para generar los nombres de las columnas en la parte superior del archivo CSV.

Luego, recorre el objeto JSON con un en bucle. Llamar el método "writerow" del objeto CSV en cada elemento de datos en el archivo JSON para crear una fila correspondiente en el archivo CSV.

Archivos JSON complejos

Algunos archivos JSON complejos pueden ser más difíciles de representar como CSV. Esto puede incluir archivos que no se alinean inmediatamente con una estructura estándar de filas y columnas. Si está tratando con un archivo de este tipo y desea convertirlo a CSV, tiene algunas opciones.

Primero, puede buscar el conjunto total de campos de datos que ocurren en el archivo JSON y convertirlos en columnas de su CSV. Deje una columna en blanco en una fila en particular si no aparece allí. Usa la opción "extrasacción = 'ignorar'" al configurar Python CSV DictWriter para hacer esto automáticamente para los campos que no ocurren en un dato en particular.

También puede considerar la posibilidad de representar el archivo JSON como varios CSV, uno para cada tipo de datos que se representan en él. Usa Python si declaraciones para detectar en qué archivo CSV se debe escribir un dato en particular.

Esta técnica también puede ser útil para archivos JSON anidados, en los que los objetos JSON contienen otros objetos. Estos subobjetos se pueden colocar en su propio archivo CSV con una indicación de la fila del CSV principal a la que corresponden.