Convertidor de JSON a CSV

Convierte una lista JSON en una descarga CSV amigable para hojas de cálculo. El convertidor inspecciona tus datos, construye un orden de columnas estable (ya sea a partir del primer registro o la unión de todas las claves), aplana estructuras anidadas cuando optas por ello, y emite un CSV que se abre correctamente en Excel, Numbers, Google Sheets o cualquier script de pandas.

Cómo funciona el convertidor

  1. 1

    Pega o sube JSON

    Un array de objetos, o un payload envuelto donde los datos están bajo una sola clave.

  2. 2

    Elige estrategia de columnas

    Usa las claves del primer registro (rápido, predecible) o la unión de todos los registros (más exhaustivo).

  3. 3

    Ajusta la salida

    Delimitador, estilo de comillas, aplanar anidado, encabezados activados/desactivados, BOM UTF-8 para Excel.

  4. 4

    Descargar

    Guarda como `.csv` e importa en tu hoja de cálculo o carga con `pandas.read_csv`.

Estrategias de orden de columnas

  • Del primer registro: las columnas coinciden con las claves del primer objeto JSON. Rápido, determinista. Pierde claves que solo aparecen en registros posteriores.
  • Unión de todas las claves: escanea cada registro y recopila cada clave. Más lento en conjuntos de datos muy grandes, pero produce una lista completa de columnas.
  • Orden personalizado: proporciona una lista de nombres de columnas separada por comas. Todo lo demás se añade al final, en el orden encontrado.

Citas y escape

Sigue RFC 4180:

  • Los campos que contienen comas, saltos de línea o comillas dobles deben estar envueltos en comillas dobles.
  • Una comilla doble dentro de un campo citado se escapa duplicando: Él dijo "Hola" se convierte en "Él dijo ""Hola""".
  • Los saltos de línea dentro de campos citados son legales, pero no todos los importadores los manejan, activa “escapar saltos de línea” si necesitas máxima compatibilidad.

Conservación de tipos de datos

CSV es texto: todo es una cadena. Las pistas de tipo como columnas numéricas, booleanos o fechas dependen del análisis del consumidor. Algunos consejos:

  • Ceros a la izquierda (007) se conservan como cadenas en el CSV, pero Excel los convertirá silenciosamente a números. Prefija con =""007"" (feo pero funciona) o importa como texto en Excel.
  • Enteros grandes más allá de 2^53 pierden precisión en Excel. Mantenlos como cadenas en el JSON.
  • Fechas ISO (2026-04-18T10:22:00Z) sobreviven al redondeo de Excel solo si la columna está formateada como texto al importar.
  • Booleanos se convierten en cadenas true / false. Si tu flujo posterior espera 1/0, mapea antes de exportar.

BOM y Excel

Excel en Windows necesita un BOM UTF-8 (0xEF 0xBB 0xBF) al inicio del archivo o interpretará los bytes UTF-8 como Latin-1 y distorsionará cualquier cosa fuera de ASCII. Mac Numbers y Google Sheets manejan ambos.

Errores comunes

  • Pasar un objeto en lugar de un array. La herramienta necesita [{...}, {...}], no {...}. Desenvuelve primero.
  • Claves diferentes en diferentes registros. Usa la estrategia “unión de todas las claves” para evitar columnas perdidas.
  • Valores centinela para nulo. Algunas canalizaciones tratan una celda vacía como nula; otras la tratan como la cadena "". Elige una convención y mantente en ella a lo largo del proyecto.
  • Locales desajustados. Exportar con , y luego abrir en un Excel europeo que espera ; puede colapsar columnas. Ajusta el delimitador al locale objetivo.

Preguntas frecuentes

Proporciona un JSONPath (por ejemplo, $.data.items) al array, o desenvuelve manualmente. La herramienta intentará detectar automáticamente un solo array dentro de un objeto de nivel superior.

Excel convierte agresivamente cadenas que parecen numéricas a números. Importa el CSV como “texto” en el asistente de importación de Excel, o envuelve valores como "007" en ="007" al exportar (la herramienta puede hacer esto con el interruptor “modo seguro para texto”).

Sí. Tú eliges: unir con un delimitador (tags: "a,b,c"), serializar como JSON (tags: "[\"a\",\"b\"]"), o explotar a una columna por índice (tags.0, tags.1, tags.2).

Sí. Google Sheets maneja UTF-8 y delimitadores estándar sin problemas. Para conjuntos de datos muy grandes (>10 MB), considera cargar a través de IMPORTDATA en lugar de pegar.

Herramientas relacionadas

Herramienta disponible en otros idiomas