¿Qué es CSVImporter y para qué sirve?
CSVImporter es una biblioteca ligera para Swift (iOS/macOS) que simplifica la importación, el análisis y la exportación de archivos CSV. A diferencia de Foundation estándar, CSVImporter proporciona herramientas listas para procesar grandes conjuntos de datos tabulares, detectar automáticamente delimitadores y trabajar con codificaciones. La biblioteca es ideal para aplicaciones que requieren cargar datos de fuentes externas: informes contables, listas de contactos, conjuntos de datos para machine learning o archivos de configuración.
Instalación
CSVImporter se instala a través de Swift Package Manager. Agregue la dependencia en Package.swift:
.package(url: "https://github.com/Flinesoft/CSVImporter.git", from: "1.9.0")O a través de Xcode: File → Add Packages → pegue la URL del repositorio.
Funciones principales
- Detección automática de delimitadores — admite comas, punto y coma, tabulaciones.
- Análisis en streaming — procesa archivos de cualquier tamaño sin cargarlos completamente en memoria.
- Soporte de codificaciones — UTF-8, Windows-1251, ISO Latin-1.
- Tipado flexible — conversión de cadenas a Int, Double, Date y estructuras personalizadas.
- Exportación — creación de CSV a partir de arrays de diccionarios.
Ejemplo de código en Swift
import CSVImporter
// Importación desde archivolet path = Bundle.main.path(forResource: "data", ofType: "csv")!let importer = CSVImporter<[String]>(path: path)let records = importer.importRecords { $0 } // [["Name", "Age"], ["Alice", "30"], ...]
// Análisis con encabezadoslet structured = importer.importRecords { record in return Person(name: record[0], age: Int(record[1]) ?? 0)}
// Exportaciónlet data = [["Name", "Age"], ["Bob", "25"]]let csvString = data.csvString() // "Name,AgeBob,25"try? csvString.write(to: URL(fileURLWithPath: "/tmp/output.csv"), atomically: true, encoding: .utf8)¿Cuándo usar CSVImporter?
- Al trabajar con datos tabulares de Excel/Google Sheets.
- En aplicaciones para análisis financiero, gestión de inventario o estadísticas.
- Al migrar datos entre servicios (por ejemplo, importar contactos desde CSV).
- En utilidades de macOS para procesar logs o configuraciones.
La biblioteca es estable, tiene una cobertura de pruebas del 100% y cuenta con el respaldo de la comunidad desde 2016. Es compatible con iOS 13+, macOS 10.15+.