CSVImporter: trabajo con CSV en Swift

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿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+.

Recommendations