Español

Datos y hojas de cálculo · CSV Limpiador

RFC 4180 Explicado: Lo más parecido que tiene CSV a un estándar oficial

· Antecedentes

csv rfc-4180 formatos de datos

CSV registros con separadores de coma, terminaciones CRLF y comillas dobles alineadas en una salida consistente
Ilustración de vector original de ToolAcre

CSV existió durante décadas antes de que alguien lo escribiera. Esta publicación explica el RFC 4180, lo que realmente dice sobre delimitadores, comillas, finales de línea y encabezados, y por qué los archivos del mundo real todavía lo ignoran.

Dos archivos CSV 'válidos' que ningún analizador lee correctamente: por qué el formato creció durante décadas sin un estándar

Dos archivos pueden tener una extensión .csv, mientras que uno usa punto y coma, el otro tabuladores y cada uno aplica las comillas de manera diferente. Un analizador debe conocer un dialecto antes de que la puntuación se convierta en estructura. ToolAcre comienza con cuatro candidatos y puntúa formas de muestra analizadas en lugar de confiar en la extensión.

Esa flexibilidad explica por qué “válido CSV” suele ser una descripción incompleta. El limpiador puede aceptar desviaciones comunes y luego serializar un resultado consistente. Su comportamiento se define mediante la configuración y las pruebas, lo que proporciona un contrato más útil que asumir que cada productor sigue un memorando a la perfección.

Qué es el RFC 4180: un memorando informativo de 2005 que documenta una práctica común, no un estándar vinculante

El repositorio nombra repetidamente RFC 4180 como convención de salida, pero no es una fuente de afirmaciones históricas sobre la fecha o el estado legal del memorando. Por lo tanto, este artículo se centra en las reglas incorporadas en la implementación: finales de registro, citas, ancho de encabezado y manejo de delimitadores.

Cuando el historial de los estándares externos sea importante, cite la publicación principal por separado. Para usar ToolAcre, la evidencia relevante es local: el código predeterminado es CRLF, cita caracteres estructurales, duplica las comillas internas e informa una fila cuyo ancho difiere del encabezado.

La evidencia del repositorio utiliza RFC 4180 como convención de destino; el historial de publicaciones está fuera del conjunto de fuentes

El destino configurado describe la salida delimitada por comas, finales de línea CRLF, un concepto de encabezado opcional y filas rectangulares. En la ruta enviada, la primera fila no es opcional en la práctica: siempre se utiliza como encabezado. Un archivo sin encabezado pierde su primer registro para esa función.

La entrada irregular no causa rechazo. Las filas cortas están rellenas con celdas vacías; las filas largas contienen extras y ambas reciben advertencias numeradas en las filas. El serializador escribe cada fila retenida, por lo que una "salida limpia" no significa que el programa haya adivinado cómo solucionar el desacuerdo estructural.

Citando según la nota: cuándo se deben citar los campos y cómo se duplica una comilla doble literal

Un campo debe ir entre comillas cuando contiene el delimitador elegido, una comilla o un carácter de fin de registro. ToolAcre además cita los espacios iniciales o finales para que otro analizador no los recorte silenciosamente. Dentro de un campo entrecomillado, cada comilla doble literal se convierte en dos comillas dobles.

El cambio de campo Cotización cada solicita un estilo uniforme; de lo contrario, la producción se cotiza mínimamente. Las citas de fuentes redundantes pueden desaparecer mientras los valores analizados permanezcan iguales. Se espera esta normalización y es por eso que las pruebas comparan la tabla recuperada y el resultado exacto de los ejemplos seleccionados.

El tipo de medio text/csv: los parámetros opcionales de encabezado y juego de caracteres, y por qué rara vez viajan con un archivo en el disco.

Un archivo en el disco rara vez llega con parámetros de tipo de medio adjuntos. ToolAcre no lee un parámetro `header` o `charset` del archivo seleccionado. Se basa en su contrato de ruta: texto UTF-8, un encabezado de primera fila y detección de delimitadores admitida o selección manual.

El modificador de exportación de BOM opcional escribe U+FEFF antes del primer encabezado. Eso puede ayudar a que una hoja de cálculo reconozca UTF-8, pero la configuración advierte que puede romper la estricta importación de script o base de datos porque el marcador se une al nombre cuando no se elimina. Déjalo apagado a menos que el consumidor lo requiera.

Dónde diverge el mundo: punto y coma, finales de línea LF, filas irregulares y codificaciones sin etiquetar, y por qué el memorándum no tolera nada de eso

La entrada real puede utilizar punto y coma, tabulación o barra vertical, LF o CR único, filas desiguales y una lista de materiales UTF-8 inicial. El analizador acepta intencionalmente todos esos finales de línea y candidatos delimitadores. No “tolera” en silencio las peleas desiguales; guarda datos y adjunta una advertencia.

Una cotización no cerrada es otra condición aceptada pero reportada. Todo lo que sigue a la comilla inicial se convierte en un campo, porque no existe un límite de cierre inequívoco. Corrija esa fuente antes de confiar en la exportación. El análisis permisivo es una estrategia de preservación, no una certificación de que la entrada era conforme.

ToolAcre acepta varias desviaciones del mundo real y al mismo tiempo informa filas irregulares en lugar de rechazarlas

Ninguna regla aquí proporciona a las celdas tipos numéricos, booleanos o nulos. El analizador devuelve cadenas y el convertidor JSON las conserva como cadenas. El remitente y el receptor deben acordar convenciones semánticas, incluido si falta texto en blanco y si una secuencia de dígitos es un identificador.

La seguridad de la inyección de fórmulas es una política de exportación que se encuentra por encima de la sintaxis CSV. Cuando está habilitado, los caracteres principales riesgosos reciben un apóstrofe, excepto las formas numéricas ordinarias. Eso cambia deliberadamente los valores de seguridad de las hojas de cálculo; no forma parte del escape de comillas ni de un sistema de tipos general.

Apunte a una salida de estilo RFC incluso cuando las entradas la ignoren: cómo el limpiador ToolAcre CSV repara archivos para delimitar y citar de manera consistente

Trate de obtener resultados predecibles incluso cuando el dialecto de origen varíe. Después de analizar y resolver las advertencias, ToolAcre emite registros CRLF y un escape estándar entre comillas dobles. Si el delimitador detectado permanece como punto y coma o tabulación, la descarga mantiene ese delimitador en lugar de forzar siempre la coma.

Seleccione la coma manualmente cuando un contrato de recepción requiera una salida separada por comas e inspeccione el control porque muestra el delimitador realmente utilizado. La coherencia proviene de una selección explícita más la forma de fila revisada, no solo de la extensión CSV.