🧹 Limpiador CSV
Pega CSV o TSV y aplica deduplicación, orden, eliminación de filas vacías, recorte de celdas, normalización de cabeceras, extracción de columnas y unificación de fin de línea. Soporta RFC 4180.
🔒 Sobre la privacidad
- ・Todo el procesamiento ocurre en tu navegador
- ・Los datos CSV nunca se envían a ningún servidor
- ・Sin registros, sin historial, sin base de datos
⚙️ Configuración de entrada
🧹 Opciones de limpieza
Números (1-base) o nombres de cabecera, separados por coma
Solo las columnas especificadas
📈 Resumen
🔗 Herramientas relacionadas
📖 Dónde se suele tropezar
Aplica al CSV o TSV que pegues la eliminacion de duplicados y de lineas vacias, el recorte de celdas, la normalizacion de cabeceras a snake_case, la extraccion de columnas, la ordenacion y la unificacion de finales de linea. Interpreta correctamente el entrecomillado de RFC 4180, incluidas comas, saltos de linea y comillas dobladas dentro de un campo. Todo se ejecuta en el navegador y no se transmite ningun dato. Ahora bien, como trabaja sobre texto, no sabe que significan los valores: no puede saber si 007 es un codigo postal o un numero, ni si 2025/03/04 es el 4 de marzo o el 3 de abril. Una limpieza que se completa mientras el contenido se rompe en silencio ocurre casi siempre en esa frontera.
| Caso | Qué ocurre | Qué hacer |
|---|---|---|
| Confundir el delimitador o el entrecomillado | La deteccion automatica decide segun cuantas veces aparece cada caracter cerca del principio, de modo que falla cuando una columna contiene muchas comas en su texto. Ojo sobre todo con las exportaciones de configuraciones regionales europeas: donde el separador decimal es la coma, el delimitador de campo es el punto y coma; leerlo como separado por comas hace que todo se agrupe en una sola columna. El otro caso incomodo son los saltos de linea dentro de comillas. RFC 4180 permite un salto de linea dentro de un campo entrecomillado, asi que una linea y un registro no son lo mismo. Verificar el trabajo contando lineas nunca cuadrara. Y un dialecto que escapa con barra invertida (habitual en algunas exportaciones de bases de datos) no es RFC 4180, de modo que no se puede dividir correctamente. | No lo dejes en manos de la deteccion automatica: elige el delimitador de forma explicita. Despues, verifica por numero de columnas: si tras la limpieza el recuento de columnas de la cabecera coincide con el de todas las filas, la division salio bien. Una unica fila con un recuento distinto significa casi siempre una comilla sin cerrar en esa fila, lo cual es un error de quien genero el archivo. Si se trata de un dialecto con barra invertida, conviertelo a forma RFC 4180 con csvkit o una hoja de calculo antes de pegarlo aqui. Y lo primero que hay que hacer es anotar el numero de filas y columnas antes y despues: comprobar que el numero de registros no ha cambiado es una verificacion que conviene hacer siempre, aunque sea a ojo. |
| La deduplicacion solo ve cadenas identicas | La comparacion es igualdad de cadenas, de modo que filas que a un humano le parecen identicas sobreviven como filas distintas: una fila con espacios al final, una que mezcla caracteres de ancho completo y medio, una que difiere en mayusculas, 03-1234-5678 frente a 0312345678, 2025-01-05 frente a 2025/1/5. A la inversa, recortar primero convierte en duplicadas filas que antes eran distintas: o sea que el orden de las operaciones cambia el recuento final. Igual de importante es cual de las dos sobrevive: esta herramienta conserva la primera aparicion y descarta las posteriores. Deduplica sin mas unos datos ordenados por fecha de actualizacion y te quedaras con la fila mas antigua. |
Fija el orden: primero normalizar, despues deduplicar. En esta pagina eso significa activar el recorte y ejecutar la deduplicacion en la misma pasada. Si hay caracteres de ancho completo y medio o mayusculas mezcladas, pasa antes el texto por el conversor de anchura y el conversor de mayusculas y vuelve aqui. Para controlar que fila sobrevive, ordena antes de deduplicar: con la fecha de actualizacion descendente, la que se conserva es la mas reciente. Y usa las columnas clave de deduplicacion: comparar solo por las columnas que de verdad son la clave, como email o id, en lugar de la fila entera, evita que el ruido de las demas columnas arruine la comparacion. |
| Un CSV limpio se rompe en cuanto lo abre Excel | El CSV que produces aqui puede ser correcto, pero dejar que Excel lo abra con doble clic reescribe el contenido. Cuatro cosas ocurren de forma rutinaria. Los ceros iniciales desaparecen (007 pasa a 7, afectando a codigos postales, numeros de empleado y telefonos). Los valores se leen como fechas (1-2 se convierte en una fecha; que el nombre del gen MARCH1 se volviera fecha llevo a la comunidad cientifica a renombrar genes). Los numeros de mas de dieciseis digitos se redondean, con lo que numeros de tarjeta y algunos identificadores acaban en ceros. Y el UTF-8 sin BOM se convierte en caracteres ilegibles: esta herramienta no anade BOM, asi que el texto no ASCII sale corrupto en Excel para Windows. En todos los casos, volver a guardar el archivo hace permanente el dano. |
No lo abras con doble clic. En Excel, usa Datos > Desde texto/CSV y marca como Texto las columnas problematicas antes de importar. Esa es la unica via fiable. Si sabes que quien lo recibe lo abrira en Excel, exporta UTF-8 con BOM: lo comodo es guardar la salida de esta pagina y luego volver a guardarla desde tu editor eligiendo UTF-8 con BOM. Decidir directamente no intercambiar identificadores ni telefonos en CSV tambien es una respuesta legitima, y si el destinatario usa Excel, entregarle un .xlsx es mas seguro: los tipos quedan guardados en el archivo, asi que abrirlo no altera nada. |
Normalizar las cabeceras a snake_case es una operacion que tira los nombres originales. Las cabeceras en alfabetos no latinos o con simbolos no se pueden restaurar despues: ejecutalo una sola vez, justo antes de cargar en una base de datos, y conserva siempre el archivo original. Anotar la correspondencia entre nombre antiguo y nuevo te permitira responder mas adelante a la pregunta de que era cada columna. La eleccion de final de linea se olvida facilmente porque no se ve: CRLF si el archivo va a una herramienta de Windows, LF si va a un script Unix o a Git. Sube una mezcla y cada linea aparecera como diferencia (mas detalles en el conversor de finales de linea). Por ultimo, como todo se ejecuta en el navegador, el tamano que puedes manejar depende de la memoria de tu equipo. Para CSV de mas de unas decenas de megabytes, usa una herramienta de linea de comandos como csvkit, xsv o duckdb en lugar de esta pagina: pueden procesar el archivo sin cargarlo entero en memoria.
📖 Cómo usar
-
1
Pegar CSV o TSVPega los datos en el campo izquierdo. El delimitador se detecta o se elige.
-
2
Elegir opcionesMarca opciones como deduplicar, ordenar, quitar filas vacías y extraer columnas. Las claves aceptan números o nombres.
-
3
Copiar o descargarEl resultado aparece a la derecha. Usa Copiar o Descargar (.csv / .tsv).
❓ Preguntas frecuentes
¿Cómo se detectan las filas duplicadas?
¿Se conservan comas y saltos entre comillas?
¿Maneja archivos grandes?
🐛 ¿Encontró un problema con esta herramienta?
Gratis, sin registro. Incluso solo los pasos para reproducir ayudan. Los informes van directamente al operador y se usan para corregir.
¡Gracias por tu reporte!
Tu reporte llegó al operador y se usará para mejorar.