Transformar un CSV
Cada sistema al que envía datos quiere una forma ligeramente distinta: otro nombre de columna, un total calculado, un nombre completo dividido en dos campos, y hacer ese reacomodo a mano en una hoja de cálculo deja de ser viable después de un puñado de archivos. Este endpoint aplica un conjunto de reglas a un CSV en una sola pasada: renombra columnas, calcula nuevas a partir de expresiones, elimina lo que sobra y reordena lo que queda.
Ejecutar — gratis
Corre en su navegador. Gratis y sin límite: sus datos no salen de esta página.
El costo oculto de reacomodar datos
Los datos rara vez llegan con la forma que necesita. La lista de precios de un proveedor trae unit_cost cuando su sistema espera unit_price; una exportación de marketing divide first_name y last_name en dos columnas cuando su CRM quiere un solo campo full_name; una exportación cruda incluye una docena de columnas internas que su script de importación tiene que quitar antes de siquiera poder correr. Nada de esto es complicado por separado, pero multiplicado por cada archivo, cada socio y cada cambio de esquema, se convierte en un impuesto silencioso y recurrente para quien toque el flujo de datos.
Qué hace realmente una regla de transformación
Llame a POST /data/transform-csv con su archivo y una lista de reglas, y cada regla ejecuta una operación: renombrar una columna, calcular una nueva a partir de una expresión que referencia columnas existentes (como precio por cantidad para obtener un total de línea), eliminar una columna por completo, o reordenar las columnas de salida. Las reglas se aplican en el orden que especifique, así que una columna calculada puede referenciar una columna renombrada por una regla anterior, permitiéndole encadenar varias operaciones pequeñas en un solo reacomodo coherente en vez de escribir un script personalizado para cada paso.
Columnas calculadas sin hoja de cálculo
Las transformaciones más útiles suelen ser la aritmética más simple que haría una fórmula de hoja de cálculo: margen como (precio menos costo) dividido entre precio, una dirección completa concatenada a partir de calle, ciudad y código postal, un indicador booleano derivado de un umbral. Expresar eso como una regla en lugar de una fórmula en la celda Z2 significa que corre igual cada vez, en cada fila, sin que una referencia de fórmula se rompa cuando alguien inserta una columna arriba.
Por qué estructura y significado son problemas distintos
Renombrar y reacomodar es un problema diferente al de validar o filtrar datos, aunque las hojas de cálculo tienden a mezclar ambos en un enredo de fórmulas. Mantener la transformación estructural como un paso explícito propio, separado de decidir qué filas califican o qué significa un valor, hace que cada parte de un flujo sea más fácil de razonar y de depurar cuando un sistema posterior rechaza un archivo: sabe de inmediato si el problema es la forma o el contenido.
Cómo encaja en un flujo de trabajo
Como la tarea es asíncrona y devuelve un task_id de inmediato, transformar un CSV encaja de forma natural como una etapa entre varias: traer un archivo, transformar sus columnas para que coincidan con un esquema objetivo, y luego filtrarlo o unirlo con otra fuente. Las integraciones con socios, las importaciones recurrentes y las migraciones de esquema se benefician de expresar el reacomodo como reglas declarativas en lugar de un script que hay que reescribir cada vez que el formato de origen cambia un poco.
Qué puede hacer con ella
Normalización de archivos de socios
Renombre los nombres de columna inconsistentes de un proveedor para que coincidan con su esquema interno antes de importar su lista de precios semanal.
Métricas de negocio calculadas
Agregue una columna de margen o total de línea calculada a partir de los campos de precio y costo existentes, sin abrir el archivo en una hoja de cálculo.
Preparación para migración de esquema
Reacomode una exportación de un sistema heredado, renombrando y reordenando columnas, antes de cargarla en el formato que espera una nueva plataforma.
Eliminación de columnas sensibles
Elimine columnas de uso interno, como base de costo o notas, antes de compartir un archivo con un socio o cliente externo.
Preguntas frecuentes
¿Qué tipo de transformaciones puede aplicar esta api para transformar csv?
Puede renombrar columnas, calcular nuevas a partir de expresiones sobre columnas existentes, eliminar columnas y reordenar la salida, todo en un solo conjunto de reglas.
¿Puedo crear una columna nueva a partir de un cálculo?
Sí, las columnas calculadas pueden referenciar otras columnas en una expresión, como multiplicar precio por cantidad para obtener una columna de total.
¿Las reglas de transformación se ejecutan en un orden específico?
Sí, las reglas se aplican en el orden en que las liste, así que una regla posterior puede referenciar una columna que una regla anterior renombró o calculó.
¿Hay un plan gratuito para probar el endpoint de transformación?
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 eliminar columnas que no necesito en la salida?
Sí, una regla de eliminación quita cualquier columna por nombre, útil para retirar campos internos antes de compartir un archivo externamente.
¿Qué pasa si una regla de transformación referencia una columna que no existe?
La tarea falla con un error claro que describe la columna faltante, se reintenta automáticamente hasta tres veces, y nunca se cobra si falla.
¿Cómo recibo el CSV transformado?
A través de un webhook firmado, recomendado para flujos automatizados, o un enlace firmado válido por 24 horas para descargarlo manualmente.
¿Cuánto cuesta la API para transformar CSV?
$0.002 por solicitud, cobrado únicamente cuando la transformación se completa con éxito.
Para desarrolladores — acceso por API
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.
Endpoint de API
¿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, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/data/transform-csv \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/data/transform-csv", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/transform-csv",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/transform-csv", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/transform-csv", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "…"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.transform_csv",
"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.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 25 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |