ForHosting KIT · Datos y archivos

CSV a JSON

Pegue un CSV y cada fila se convierte en un registro con nombre: en el ejemplo, la edad de Ada, 36, llega como número real y «Lovelace, Ada» sigue siendo un solo valor pese a su coma. Las celdas vacías vuelven vacías, no como cero. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Datos CSV
nombre,edad,activo Ada,36,true "Lovelace, Ada",,false
Obtiene
Cantidad de filas
2
Nombres de columnas
nombre, edad, activo

Un archivo CSV parece simple hasta que tiene que interpretar uno que exportó otra persona: comillas inconsistentes, un BOM perdido, números guardados como texto con ceros a la izquierda que sí importan.

Por qué un CSV no se puede cortar en cada coma

El CSV parece el formato de datos más sencillo que existe, y esa fama es justamente la que causa los problemas. No hay una regla estricta sobre cómo meter una coma dentro de un valor ni sobre qué codificación suponer, así que cada hoja de cálculo, sistema contable o banco lo exporta de una manera algo distinta. Un nombre como «Lovelace, Ada» va entre comillas precisamente para que su coma no abra una columna nueva. Un conversor que corta en cada coma falla con el primer archivo real que encuentra; este respeta las comillas, de modo que cada valor queda bajo el nombre correcto.

De filas a registros, y los errores que conviene evitar

La primera fila aporta los nombres y cada fila posterior se convierte en un registro que los usa, que es la forma en que la mayoría de las aplicaciones y programas esperan recibir los datos. Se reconocen los enteros, los decimales y las palabras true y false, así que una columna de edades llega lista para sumar y no como texto. El error más frecuente es el separador equivocado: si su archivo usa punto y coma y deja seleccionada la coma, cada fila termina siendo un único valor largo. El segundo es leer como si tuviera encabezados un archivo que no los tiene, lo que convierte su primer registro en nombres de columna.

El problema de tratar el CSV como "solo texto"

El CSV parece el formato de datos más simple que existe, y esa fama es justamente la que causa problemas. La especificación nunca definió con rigor cómo escapar una coma dentro de un campo o qué codificación asumir, así que cada exportador —una hoja de cálculo, un ERP antiguo, un generador de estados de cuenta— lo hace de manera ligeramente distinta. Un analizador ingenuo que divide por comas se rompe con el primer archivo real que encuentra.

Los equipos que integran exportaciones de proveedores terminan manteniendo analizadores frágiles que fallan en silencio ante una comilla sin escapar.

Un poco de historia, brevemente

El CSV es anterior a la propia web, con raíces en software empresarial de mainframe de los años setenta, y nunca desapareció porque nada más simple lo ha reemplazado para el intercambio tabular entre sistemas que, por lo demás, no comparten nada. Convertir uno en otro es un puente entre dos épocas del intercambio de datos, y hacerlo bien significa respetar las particularidades que el CSV acumuló en el camino.

¿Qué particularidades del CSV maneja, como comas entre comillas o distintos delimitadores?

El analizador respeta las reglas estándar de comillas para comas y saltos de línea incluidos en un valor, y detecta delimitadores comunes, así que las exportaciones de hojas de cálculo y sistemas empresariales se convierten de forma confiable.

¿Qué pasa si un archivo CSV está mal formado?

La tarea se reintenta automáticamente hasta tres veces; si aun así no puede interpretar el archivo, recibe un error claro que describe el problema y no se le cobra.

¿La primera fila tiene que llevar los nombres de las columnas?

De forma predeterminada, sí: la primera fila aporta los nombres y cada fila siguiente se convierte en un registro que los usa. Si su archivo no tiene fila de encabezados, desactive esa opción y cada fila volverá como una lista simple de valores en su orden original.

¿Qué pasa con las celdas vacías al convertir un CSV?

Una celda vacía vuelve como un valor vacío, no como cero ni como un texto en blanco. En el ejemplo, la segunda persona no tiene edad, así que su registro muestra la edad vacía mientras el nombre y la columna de verdadero o falso siguen completos.

¿Qué valores del CSV se convierten en números?

Los números enteros y los decimales, como el 36 del ejemplo, pasan a ser números reales que se pueden sumar, y las palabras true y false se convierten en valores de sí o no. Los nombres, las fechas y cualquier otro texto se quedan como texto.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/data/csv-to-json

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/data/csv-to-json \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"csv":"nombre,edad\nAda,36"}'
{
  "csv": "nombre,edad\nAda,36"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.csv_to_json",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_mb25
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Este endpoint convierte un CSV en JSON estructurado, infiriendo si cada columna es número, booleano, fecha o texto, y permitiéndole remapear cabeceras desordenadas hacia los nombres de campo que su aplicación realmente espera.

Lo que realmente aporta la inferencia de tipos

Los valores que parecen numéricos pero cargan significado como texto, como un código postal con cero inicial, se dejan como cadenas, porque la inferencia solo es útil cuando también es cuidadosa. Llame a POST /data/csv-to-json con su archivo y la tarea lee la cabecera, toma muestras de cada columna, y decide si representa un entero, un decimal, un booleano, una fecha o texto plano, de modo que una columna con "42", "17", "3" llega como números que puede sumar de inmediato, no cadenas que primero hay que convertir.

Mapeo de cabeceras para archivos que no controla

Los CSV del mundo real casi nunca usan los nombres de campo que espera su base de datos. La exportación de un procesador de pagos puede llamar a una columna "Txn Date" mientras su esquema espera transaction_date. En vez de procesar cada respuesta después, envía un mapeo de cabeceras junto con el archivo y el endpoint renombra las columnas durante la conversión, así que lo que regresa ya coincide con la forma que consume su aplicación, un paso de transformación menos que escribir y mantener.

Un poco de historia, brevemente

El JSON, en cambio, surgió de los literales de objeto de JavaScript a inicios de los años dos mil para que los programas lo consumieran directamente.

Dónde encaja en un flujo automatizado

Como la conversión corre de forma asíncrona, se integra sin fricción en trabajos ETL, importaciones programadas desde sistemas de socios, o un flujo de carga de formulario donde un usuario arrastra una hoja de cálculo y su aplicación necesita registros estructurados en segundos. Recibe un task_id de inmediato y el JSON llega por webhook, listo para insertarse, validarse o reenviarse sin que su flujo quede bloqueado esperando la conversión.

Ingesta de datos de socios comerciales

Convierta las exportaciones diarias en CSV de un proveedor o procesador de pagos en JSON que se mapea directamente a su esquema interno, sin escribir un analizador personalizado por cada socio.

Carga de hojas de cálculo en una app SaaS

Deje que los usuarios finales arrastren un CSV de contactos o inventario y conviértalo en registros JSON validados que su API puede insertar en un solo paso.

Migración de sistemas heredados

Tome exportaciones de tablas de un sistema antiguo que solo habla CSV y conviértalas en documentos JSON para una base de datos moderna orientada a documentos.

Trabajo ETL programado

Ejecute cada noche una conversión de los archivos CSV de registro acumulados a JSON antes de cargarlos en un pipeline de analítica.

¿Esta API de CSV a JSON infiere los tipos de dato automáticamente?

Sí, cada columna se muestrea y se tipifica automáticamente como número, booleano, fecha o texto, así que no necesita convertir valores después de la conversión.

¿Puedo renombrar columnas durante la conversión?

Sí, envíe un mapeo de cabeceras junto con su solicitud y el JSON de salida usará los nombres de campo que defina en lugar de las cabeceras originales del CSV.

¿Hay un plan gratuito para probar el endpoint de CSV a JSON?

La herramienta de arriba es gratis en su navegador. La API es de pago: cada llamada se descuenta de su saldo prepago de ForHosting KIT — se recarga desde $10.00 (no caduca), se paga el precio publicado de cada solicitud, y una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens, y una tarea fallida no se cobra.

¿Puedo convertir archivos CSV grandes o lotes masivos?

Sí, envíe los archivos como solicitudes asíncronas separadas; cada una devuelve su propio task_id para que pueda rastrear y procesar lotes grandes de forma independiente.

¿Cómo recibo el JSON convertido?

A través de un webhook firmado, recomendado para flujos automatizados, o un enlace firmado válido durante 24 horas para obtenerlo manualmente.

¿Cuánto cuesta la API de CSV a JSON?

$0.002 por solicitud, cobrado únicamente cuando la conversión se completa con éxito.

Ver la documentación completa del KIT →