Formatos de Archivos Planos
Consideraciones de Formatos en Archivos Planos
Section titled “Consideraciones de Formatos en Archivos Planos”Para garantizar una correcta interacción a través de las interfaces SFTP, los archivos compartidos deben cumplir con las siguientes especificaciones técnicas.
Encabezados
Section titled “Encabezados”Ejemplo:
ProductCode|ProductName|Price|Stock|LastUpdateSeparadores
Section titled “Separadores”Separador de Columnas
Section titled “Separador de Columnas”Utilice el carácter de barra vertical o pipe (|)
Columna1|Columna2|Columna3Ejemplo correcto:
PROD001|Producto A|100.50Ejemplo incorrecto:
PROD001|Producto A (Tamaño: S|M|L)|100.50 ❌ (pipes en el texto)Separador de Registros
Section titled “Separador de Registros”Utilice \r\n (CRLF) como separador de registros
Este es el separador de línea estándar en Windows. La mayoría de los editores de texto y herramientas de exportación lo usan por defecto.
Formato de Datos Especiales
Section titled “Formato de Datos Especiales”Valores Numéricos
Section titled “Valores Numéricos”Formato: Utilice el punto (.) como separador decimal, sin separadores de miles.
| ✅ Correcto | ❌ Incorrecto |
|---|---|
10005.50 | 10.005,50 |
200.213 | 200,213 |
21000.4212 | 21,000.4212 |
Ejemplos válidos:
Price10005.50200.21321000.421215000.99Fechas y Horas
Section titled “Fechas y Horas”Formato: yyyyMMdd HHmmss
| Componente | Formato | Descripción |
|---|---|---|
| Año | yyyy | 4 dígitos (ej: 2025) |
| Mes | MM | 2 dígitos (01-12) |
| Día | dd | 2 dígitos (01-31) |
| Hora | HH | 2 dígitos, formato 24h (00-23) |
| Minutos | mm | 2 dígitos (00-59) |
| Segundos | ss | 2 dígitos (00-59) |
Ejemplos:
| Fecha/Hora legible | Formato correcto |
|---|---|
| 25 de Marzo de 2023, 15:30:25 | 20230323 153025 |
| 1 de Enero de 2025, 00:00:00 | 20250101 000000 |
| 31 de Diciembre de 2024, 23:59:59 | 20241231 235959 |
Ejemplo en archivo:
ProductCode|LastUpdatePROD001|20230323 153025PROD002|20250101 120000PROD003|20241231 235959Compresión de Archivos
Section titled “Compresión de Archivos”Se admitirán archivos CSV o TXT comprimidos en formato gzip (.gz).
Ventajas de la compresión:
- ✅ Reduce el tiempo de transferencia
- ✅ Ahorra ancho de banda
- ✅ Reduce el espacio en disco
- ✅ Archivos típicamente se comprimen en un 70-90%
Cómo comprimir:
En Windows (PowerShell):
Section titled “En Windows (PowerShell):”# Comprimir un archivoCompress-Archive -Path productos.csv -DestinationPath productos.csv.gzEn Linux/Mac:
Section titled “En Linux/Mac:”# Comprimir un archivogzip productos.csv# Resultado: productos.csv.gzProgramáticamente (Python):
Section titled “Programáticamente (Python):”import gzipimport shutil
with open('productos.csv', 'rb') as f_in: with gzip.open('productos.csv.gz', 'wb') as f_out: shutil.copyfileobj(f_in, f_out)Nomenclatura de Nombres de Archivos
Section titled “Nomenclatura de Nombres de Archivos”Para asegurar que los archivos no se sobrescriban en diferentes procesos de carga, es obligatorio que todos los archivos contengan un sufijo que incluya la fecha y hora en su nombre.
Formato Recomendado
Section titled “Formato Recomendado”[nombre_archivo]_[yyyyMMddHHmmss].[ext]Componentes:
[nombre_archivo]: Nombre descriptivo del archivo[yyyyMMddHHmmss]: Fecha y hora de generación[ext]: Extensión del archivo (csv, txt, gz)
Ejemplos Válidos
Section titled “Ejemplos Válidos”productos_20250323153025.csvinventario_20250101120000.txtprecios_20241231235959.csv.gzclientes_20250323140530.csvEjemplo de Generación
Section titled “Ejemplo de Generación”Python:
from datetime import datetime
# Generar nombre con timestamptimestamp = datetime.now().strftime('%Y%m%d%H%M%S')filename = f'productos_{timestamp}.csv'# Resultado: productos_20250323153025.csvPowerShell:
# Generar nombre con timestamp$timestamp = Get-Date -Format "yyyyMMddHHmmss"$filename = "productos_$timestamp.csv"# Resultado: productos_20250323153025.csvBash:
# Generar nombre con timestamptimestamp=$(date +%Y%m%d%H%M%S)filename="productos_${timestamp}.csv"# Resultado: productos_20250323153025.csvEjemplo Completo de Archivo
Section titled “Ejemplo Completo de Archivo”Archivo sin comprimir: productos_20250323153025.csv
Section titled “Archivo sin comprimir: productos_20250323153025.csv”ProductCode|ProductName|Price|Stock|LastUpdatePROD001|Laptop Dell XPS 15|1299.99|50|20250323 153025PROD002|Mouse Logitech MX Master|89.99|200|20250323 153025PROD003|Teclado Mecánico|149.50|75|20250323 153025PROD004|Monitor LG 27 pulgadas|399.00|30|20250323 153025Características:
- ✅ Primera fila es el encabezado
- ✅ Separador de columnas:
| - ✅ Separador de registros:
\r\n(salto de línea) - ✅ Precios con punto decimal
- ✅ Fechas en formato
yyyyMMdd HHmmss - ✅ Nombre incluye timestamp
Validación Pre-Carga
Section titled “Validación Pre-Carga”Antes de cargar un archivo, verifique:
- El archivo tiene encabezados en la primera fila
- El separador de columnas es el pipe (
|) - No hay caracteres pipe (
|) en los datos de texto - Los números usan punto (.) como decimal
- Las fechas están en formato
yyyyMMdd HHmmss - El nombre del archivo incluye timestamp
- El archivo está comprimido en .gz (si aplica)
- El archivo está en la codificación UTF-8
Solución de Problemas
Section titled “Solución de Problemas”El archivo no se procesa
Section titled “El archivo no se procesa”Posibles causas:
- Falta el encabezado en la primera fila
- Separadores incorrectos
- Formato de fecha incorrecto
- Nombre de archivo sin timestamp
- Archivo corrupto o con caracteres especiales
Errores comunes
Section titled “Errores comunes”| Error | Causa | Solución |
|---|---|---|
| ”Invalid column count” | Hay pipes en los datos | Remueva pipes del texto |
| ”Invalid date format” | Fecha en formato incorrecto | Use yyyyMMdd HHmmss |
| ”Duplicate file” | Archivo sin timestamp | Agregue sufijo de fecha/hora |
| ”Parse error” | Número con formato incorrecto | Use punto como decimal |
Recursos Adicionales
Section titled “Recursos Adicionales”- Trabajar con Etiquetas - Formato de etiquetas en archivos
- Trabajar con Códigos - Formato de códigos en archivos
- Introducción a Interfaces - Visión general de métodos
Soporte
Section titled “Soporte”Si tienes problemas con el formato de tus archivos:
- 📧 Contacta al equipo de soporte técnico
- 📋 Envía un archivo de ejemplo para revisión
- 🔍 Solicita validación antes de la carga masiva