Qu'est-ce que CSVImporter et pourquoi en avez-vous besoin ?
CSVImporter est une bibliothèque légère pour Swift (iOS/macOS) qui simplifie l'importation, l'analyse et l'exportation de fichiers CSV. Contrairement à Foundation standard, CSVImporter fournit des outils prêts à l'emploi pour traiter de grands volumes de données tabulaires, détecter automatiquement les séparateurs et gérer les encodages. La bibliothèque est idéale pour les applications nécessitant le chargement de données provenant de sources externes : rapports comptables, listes de contacts, ensembles de données pour l'apprentissage automatique ou fichiers de configuration.
Installation
CSVImporter s'installe via Swift Package Manager. Ajoutez la dépendance dans Package.swift :
.package(url: "https://github.com/Flinesoft/CSVImporter.git", from: "1.9.0")Ou via Xcode : File → Add Packages → collez l'URL du dépôt.
Fonctionnalités principales
- Détection automatique du séparateur — prise en charge des virgules, points-virgules et tabulations.
- Analyse en flux — traite des fichiers de toute taille sans les charger entièrement en mémoire.
- Prise en charge des encodages — UTF-8, Windows-1251, ISO Latin-1.
- Typage flexible — conversion de chaînes en Int, Double, Date et structures personnalisées.
- Exportation — création de CSV à partir de tableaux de dictionnaires.
Exemple de code en Swift
import CSVImporter
// Importation depuis un fichierlet path = Bundle.main.path(forResource: "data", ofType: "csv")!let importer = CSVImporter<[String]>(path: path)let records = importer.importRecords { $0 } // [["Name", "Age"], ["Alice", "30"], ...]
// Analyse avec en-têteslet structured = importer.importRecords { record in return Person(name: record[0], age: Int(record[1]) ?? 0)}
// Exportationlet 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)Quand utiliser CSVImporter ?
- Lors du travail avec des données tabulaires provenant d'Excel/Google Sheets.
- Dans les applications d'analyse financière, de gestion de stocks ou de tenue de statistiques.
- Lors de la migration de données entre services (par exemple, importation de contacts depuis un CSV).
- Dans les utilitaires macOS pour le traitement de logs ou de configurations.
La bibliothèque est stable, dispose d'une couverture de tests à 100 % et est maintenue par la communauté depuis 2016. Elle convient pour iOS 13+, macOS 10.15+.
Aussi dans la bibliothèque
Travail avec les images en TypeScript : redimensionnement et recadrage avec Sharp et Jimp
Travailler avec CSV en Go (Golang) : guide complet du package encoding/csv
Combine pour Swift : guide complet avec exemples
Intégration des métriques Prometheus en Java : bibliothèque simpleclient