Was ist CSVImporter und warum wird es benötigt?
CSVImporter ist eine leichtgewichtige Bibliothek für Swift (iOS/macOS), die den Import, das Parsen und den Export von CSV-Dateien vereinfacht. Im Gegensatz zu standardmäßigem Foundation bietet CSVImporter fertige Werkzeuge zur Verarbeitung großer tabellarischer Daten, zur automatischen Erkennung von Trennzeichen und zur Arbeit mit Kodierungen. Die Bibliothek eignet sich ideal für Anwendungen, die das Laden von Daten aus externen Quellen erfordern: Buchhaltungsberichte, Kontaktlisten, Datensätze für maschinelles Lernen oder Konfigurationsdateien.
Installation
CSVImporter wird über den Swift Package Manager installiert. Fügen Sie die Abhängigkeit in Package.swift hinzu:
.package(url: "https://github.com/Flinesoft/CSVImporter.git", from: "1.9.0")Oder über Xcode: File → Add Packages → fügen Sie die Repository-URL ein.
Hauptfunktionen
- Automatische Trennzeichenerkennung — unterstützt werden Kommas, Semikolons, Tabulatoren.
- Streaming-Parsing — verarbeitet Dateien jeder Größe, ohne sie vollständig in den Speicher zu laden.
- Kodierungsunterstützung — UTF-8, Windows-1251, ISO Latin-1.
- Flexible Typisierung — Konvertierung von Zeichenfolgen in Int, Double, Date und benutzerdefinierte Strukturen.
- Export — Erstellung von CSV aus Arrays von Wörterbüchern.
Beispielcode in Swift
import CSVImporter
// Import aus einer Dateilet path = Bundle.main.path(forResource: "data", ofType: "csv")!let importer = CSVImporter<[String]>(path: path)let records = importer.importRecords { $0 } // [["Name", "Age"], ["Alice", "30"], ...]
// Parsen mit Kopfzeilenlet structured = importer.importRecords { record in return Person(name: record[0], age: Int(record[1]) ?? 0)}
// Exportlet 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)Wann sollte CSVImporter verwendet werden?
- Bei der Arbeit mit tabellarischen Daten aus Excel/Google Sheets.
- In Anwendungen zur Finanzanalyse, Bestandsverwaltung oder Statistikführung.
- Bei der Datenmigration zwischen Diensten (z. B. Import von Kontakten aus CSV).
- In macOS-Dienstprogrammen zur Verarbeitung von Logs oder Konfigurationen.
Die Bibliothek ist stabil, hat eine 100%ige Testabdeckung und wird seit 2016 von der Community unterstützt. Geeignet für iOS 13+, macOS 10.15+.
Auch in der Bibliothek
gRPC für TypeScript: Bibliotheken, Einrichtung und Codebeispiele
E-Mail-Versand in Java: Bibliotheken JavaMail und Simple Java Mail
Arbeiten mit CSV in Go (Golang): Vollständige Anleitung zum Parsen und Schreiben
gRPC für Rust: Bibliotheken und Anwendungsbeispiele