Empresas · Guía práctica documentada
Detectar una cabecera CSV con Sniffer es una estimación, no una validación
Qué comprobar antes de descartar la primera fila de un catálogo.
Una importación automática puede intentar decidir si la primera fila contiene nombres de columnas o productos. csv.Sniffer.has_header utiliza una heurística sobre una muestra. La documentación de Python advierte de posibles falsos positivos y falsos negativos. El resultado booleano no certifica que el catálogo siga el esquema esperado ni autoriza a eliminar una fila sin más comprobaciones.
Supuesto propio: el proveedor envía un catálogo ficticio cuya primera referencia es MODELO y cuyo color es Azul. Si esa fila se interpreta como encabezado, puede desaparecer un producto real. En la variante opuesta, una cabecera incluida como mercancía puede producir una ficha titulada referencia. La incidencia no se descubre necesariamente contando filas importadas.
La decisión debe contrastarse con el formato pactado: nombres de campos, presencia o ausencia de cabecera y ejemplos del proveedor. Si no hay especificación, conserva la primera fila y muestra su interpretación como pendiente de revisión. No conviertas una respuesta de Sniffer en prueba de que todos los valores posteriores tienen el tipo correcto.
El análisis de una muestra tampoco garantiza que el resto del archivo mantenga separadores, número de campos o comillas correctas. Separa el reconocimiento preliminar del formato de la validación del archivo completo. Una muestra útil incluye referencias textuales, importes y al menos un campo que contenga el delimitador dentro de texto entrecomillado.
No se ha importado un catálogo real para esta guía. Se propone registrar muestra, decisión de cabecera, esquema y número final de registros antes de entregar. Esa evidencia permite revisar un producto perdido sin modificar el original. La comodidad de detectar formatos automáticamente debe acompañarse de una política para los casos ambiguos.