Español

Datos y hojas de cálculo · CSV Limpiador

Valores separados por tabulaciones frente a CSV: por qué existe TSV y cuándo usarlo

· Antecedentes

csv tsv formatos de datos

Versiones delimitadas por comas y tabulaciones de una tabla de texto libre que siguen rutas de análisis independientes
Ilustración de vector original de ToolAcre

Las pestañas rara vez aparecen dentro de los datos, que es exactamente la razón por la que existe TSV. Esta publicación explica los orígenes de los archivos separados por tabulaciones, cómo evitan los problemas de citas de CSV y dónde aún se quedan cortos.

Texto libre lleno de comas y comillas que sigue interrumpiendo las exportaciones de CSV: el caso que hizo que las pestañas fueran atractivas

Las notas de texto libre a menudo contienen comas, por lo que la salida delimitada por comas necesita comillas alrededor de esas celdas. Es posible que una pestaña aparezca con menos frecuencia en ese conjunto de datos en particular, lo que puede hacer que un archivo TSV sea visualmente más silencioso. No elimina la necesidad de un analizador ni de un acuerdo sobre pestañas incrustadas y nuevas líneas.

ToolAcre trata la pestaña como uno de los cuatro separadores. La misma máquina de estado de campo entre comillas se ejecuta independientemente del separador seleccionado. Esto significa que la decisión cambia un carácter estructural, no el modelo de seguridad, para cada valor extraño.

De dónde viene TSV: los orígenes de la máquina de escribir del carácter de tabulación y su uso inicial en volcados de bases de datos y datos científicos.

El libro de trabajo solicita un historial desde las máquinas de escribir hasta los volcados de bases de datos, pero esas afirmaciones no están presentes en la configuración, implementación o pruebas del producto. Este módulo omite esa cronología y se centra en el comportamiento que los lectores pueden reproducir con el analizador incluido.

Una pestaña en el texto fuente es simplemente ` ` para la máquina de estado cuando se selecciona como delimitador. Fuera de las comillas termina un campo; entre comillas sigue siendo parte del campo. Esa regla es suficiente para comparar formatos sin inventar una historia de origen.

Los orígenes de las máquinas de escribir y el historial temprano de la base de datos están fuera de la evidencia del repositorio.

TSV puede reducir las comillas cuando los valores contienen comas pero no tabulaciones, comillas ni finales de registro. El esquema decía que la mayoría de los dialectos TSV no necesitan comillas; El serializador de ToolAcre es más preciso. Cita cualquier campo que contenga el delimitador seleccionado, una comilla, LF, CR o espacios en blanco circundantes.

Por lo tanto, una nota que contiene una tabulación real debe citarse en la salida de tabulación, y una comilla literal se duplica dentro de ese campo. El texto libre también puede contener saltos de línea, que permanecen entrecomillados. Elegir un delimitador poco común reduce las colisiones en un conjunto de datos; nunca hace desaparecer las reglas de colisión.

ToolAcre todavía aplica citas de estilo RFC cuando los datos delimitados por tabulaciones contienen tabulaciones, comillas o nuevas líneas

Las pestañas son visualmente ambiguas porque los editores pueden representarlas como espacios de ancho variable. Copiar mediante software que convierte tabulaciones en espacios puede destruir el separador y dejar el archivo legible para una persona. Inspeccione los caracteres invisibles o confíe en una vista previa del analizador antes de declarar un resultado de una columna con formato incorrecto.

ToolAcre vuelve a escribir la pestaña detectada en una selección etiquetada y muestra el recuento de columnas, haciendo visible la elección invisible. Si el archivo es en realidad texto alineado con espacios en lugar de TSV, la detección de pestañas no creará columnas. La selección manual no puede fabricar separadores que estén ausentes.

Escapar de convenciones: secuencias de barra invertida en algunos dialectos TSV versus citas estilo RFC en CSV

Algunos dialectos tabulares utilizan secuencias de barras invertidas para tabulaciones o nuevas líneas. ToolAcre no lo hace. Su analizador reconoce comillas dobles estilo RFC y campos entre comillas debajo de cada delimitador seleccionado. Una barra invertida es texto de celda normal y no escapa al siguiente carácter.

Esa discrepancia puede dejar barras o límites prematuros al cargar una exportación configurada para un dialecto diferente. Primero identifique las reglas de escape del productor. La conversión segura requiere analizar el dialecto original, no reemplazar pares de letras oblicuas sin saber si eran literales.

Los dialectos TSV con barra invertida no son compatibles; ToolAcre utiliza comillas dobles para cada delimitador seleccionado

Tome la identificación de los encabezados, la nota y dos valores: una nota dice `red, small`, mientras que otra contiene una pestaña real. En la salida por coma, la primera nota se cita y la tabulación puede permanecer sin comillas porque no es el delimitador. En la salida de tabulación, la coma es normal, pero se cita el valor de la tabulación.

Analiza cada salida con su delimitador coincidente y ambas tablas recuperan las mismas cadenas. Este ejercicio muestra que ninguno de los formatos evita universalmente un manejo especial. El separador elegido simplemente cambia qué carácter activa las citas, además de las comillas y los finales de los registros.

Lo que esto no cubre: formatos de ancho fijo y formatos tabulares binarios

Los formatos tabulares binarios y de ancho fijo están fuera de la ruta. No infiere columnas a partir de la alineación visual ni decodifica un contenedor de columnas. Las entradas deben ser textuales CSV, TSV o texto sin formato usando coma, punto y coma, tabulación o barra vertical, o admitidas JSON en la dirección inversa.

La ruta tampoco ofrece ningún carácter de escape personalizado. Si un flujo de trabajo científico o de base de datos define su propia gramática TSV, utilice un analizador configurado para esa gramática antes de traer texto normalizado aquí. Una extensión no es prueba suficiente de compatibilidad dialectal.

Elija el delimitador para los datos y el consumidor: cómo la reparación del delimitador del limpiador ToolAcre CSV produce un archivo delimitado consistentemente para el sistema que está alimentando

Elija un delimitador según los datos y el consumidor, luego indíquelo explícitamente. ToolAcre puede detectar tabulaciones y comas de una muestra rectangular de diez filas o aceptar una anulación manual. No examina el contenido semántico ni decide que las notas merecen pestañas.

Después del análisis, resuelva las advertencias de fila y serialice con el mismo separador u otro compatible. El manejo estándar de comillas dobles protege las colisiones. El resultado es consistente porque se conoce el delimitador, no porque TSV o CSV sean inherentemente inmunes a la puntuación en los datos.