Español

Datos y hojas de cálculo · Limpiador CSV

Cómo funciona la detección de delimitadores CSV: comas, punto y coma, tabulaciones y barras verticales

· Cómo funciona

csv limpieza de datos formatos de archivo

Una fila delimitada por punto y coma que se convierte en tres columnas de tabla correctamente separadas
Ilustración original del vector ToolAcre

Un archivo CSV nunca dice qué carácter separa sus campos, por lo que el software tiene que adivinar. Esta publicación explica cómo funciona el rastreo de delimitadores, por qué falla en archivos complicados y cómo hacer que el delimitador sea explícito.

Un archivo que se abre como una columna larga: por qué el delimitador no se almacena en ningún lugar de un CSV

Un analista de datos abre una exportación .csv y ve un campo largo en cada línea. La extensión no le dice al lector qué separador se usó y el archivo generalmente no lleva ninguna declaración de delimitador. Una aplicación que asume comas leerá un encabezado separado por punto y coma, como nombre;ciudad;notas, como una sola columna. Antes de cambiar los valores, pregunte qué carácter divide realmente los campos y si el importador tiene alguna forma de anular su suposición.

Los cuatro candidatos admitidos: coma, punto y coma, tabulación y barra vertical

ToolAcre considera coma, punto y coma, tabulación y barra vertical como candidatos. Un punto y coma es común cuando las comas ya se usan como separadores decimales, las tabulaciones evitan colisiones de puntuación en exportaciones simples y las canalizaciones a veces separan volcados de registros o bases de datos. Un espacio no se encuentra entre las opciones automáticas de la herramienta: los nombres y las celdas de texto libre a menudo contienen espacios. No agregue un candidato simplemente porque aparece con frecuencia en el texto de muestra; un separador debe dividir filas en campos consistentes.

Cómo funciona el rastreo: contar caracteres candidatos por línea y preferir el que proporcione un recuento de campos consistente en todas las filas

La implementación elimina una marca de orden UTF-8 byte inicial y analiza una muestra de hasta diez filas con cada candidato. Registra los anchos de esas filas y rechaza cualquier candidato que nunca produzca al menos dos columnas. Un candidato obtiene una puntuación más alta cuando produce más columnas de forma consistente en las filas; los anchos inconsistentes son penalizados dos veces en la puntuación. Fundamentalmente, el análisis observa los campos entrecomillados, por lo que una coma dentro de una dirección entrecomillada no cuenta como límite de campo. Esto difiere del conteo ingenuo de caracteres y es por eso que una columna de dirección desordenada no tiene por qué anular la detección.

Donde falla el rastreo: columnas de texto libre llenas de comas, archivos de una sola columna y campos entrecomillados que ocultan el verdadero separador

Ninguna conjetura es infalible. Un archivo muy corto tiene poca evidencia, un CSV genuinamente de una columna no tiene ningún candidato que se divida en dos, y las citas mal formadas pueden hacer que varios análisis de candidatos parezcan irregulares. Una columna de texto libre llena de separadores puede competir con el delimitador real cuando se rompen las citas. Los separadores mixtos entre filas no son un dialecto CSV limpio. La herramienta informa advertencias de análisis y expone la selección manual de delimitadores; un usuario que conoce la convención de exportación ascendente puede anular la elección inferida en lugar de pretender que la heurística es una especificación.

Ejemplo resuelto: una exportación separada por punto y coma con comas dentro de las direcciones, que muestra por qué un conteo ingenuo elige el carácter incorrecto

Pruebe con una pequeña muestra con el nombre del encabezado;ciudad;nota y una fila Ada;París;"Reunión a las 10, cerca de la estación". Contar comas sin formato podría favorecer erróneamente la coma porque la nota contiene puntuación, especialmente en varias de esas filas. El analizador de punto y coma devuelve tres campos en ambas filas; el analizador de comas no proporciona la misma estructura rectangular. Confirme que la vista previa muestre el nombre, la ciudad y la nota como columnas separadas antes de recortar, deduplicar o exportar. Si una fila de origen tiene una cita abierta, inspeccione esa fila en lugar de descartarla silenciosamente para mejorar la puntuación.

Elegir el delimitador de salida: hacer coincidir el separador con el programa y la configuración regional que leerá el archivo a continuación

El separador de entrada y el separador de salida son decisiones diferentes. Puede importar un archivo de punto y coma europeo pero exportar texto separado por comas estilo RFC para un programa que espera comas. Un escritor correcto cita campos que contienen el delimitador de salida, comillas incrustadas o saltos de línea. Decida si su destinatario necesita una lista de materiales UTF-8 antes de realizar la descarga; algunas aplicaciones de hojas de cálculo usan uno para reconocer la codificación, mientras que muchos analizadores quieren el archivo sin él. Verifique el encabezado descargado en el programa de destino, no solo la vista previa del navegador.

Lo que esto no cubre: archivos que combinan delimitadores entre filas y exportaciones de ancho fijo que no utilizan ningún delimitador.

La detección no puede reparar un archivo que cambia el separador a la mitad, ni puede inferir columnas en una exportación de ancho fijo donde no existe ningún delimitador. No sabe si una coma entre comillas forma parte de una dirección postal o de un error de entrada de datos: sigue la sintaxis, no el significado. CSV Cleaner mostrará filas irregulares y preservará sus valores en lugar de adivinar cómo eliminar los datos de un cliente. Utilice su vista previa y advertencias para diagnosticar un problema en el sistema fuente antes de realizar pasos de limpieza irreversibles.

Haga que el delimitador sea explícito en lugar de esperar: cómo la reparación del delimitador de ToolAcre CSV Cleaner produce un archivo con un separador consistente

Una suposición de delimitador es un análisis basado en evidencia de algunas filas, no una promesa escrita dentro del archivo CSV. CSV Cleaner lo implementa localmente en su navegador, le permite elegir un separador diferente y escribe un dialecto de salida consistente. Si un asistente de importación adivina lo contrario la próxima semana, registre la convención de salida al lado del archivo para que el próximo lector no tenga que redescubrirla.