csv – Arbeiten mit CSV-Dateien in Rust

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist csv?

csv ist eine Standardbibliothek der Sprache Rust zum Lesen und Schreiben von Dateien im CSV-Format (Comma-Separated Values). Sie bietet eine leistungsstarke und flexible Schnittstelle für die Arbeit mit tabellarischen Daten und unterstützt sowohl einfache als auch komplexe Szenarien (z. B. Maskierung, verschiedene Trennzeichen, Kopfzeilen).

Wozu wird sie benötigt?

CSV ist eines der am weitesten verbreiteten Formate für den Datenaustausch zwischen Anwendungen, Datenbanken und Tabellenkalkulationen. Die Bibliothek csv ermöglicht:

  • Schnelles Laden und Verarbeiten großer Datensätze (Logs, Exporte aus Excel/Google Sheets, DB-Dumps).
  • Generieren von Berichten und Exporten in einer für Menschen lesbaren Form.
  • Integration von Rust-Anwendungen mit Systemen, die über CSV arbeiten (z. B. Finanzsysteme, ML-Pipelines).

Wie installiert man sie?

Fügen Sie die Abhängigkeit in Ihre Cargo.toml Ihres Projekts hinzu:

[dependencies]csv = "1.3"

Die Installation erfolgt automatisch beim Bauen mit cargo build.

Hauptfunktionen

  • Lesen — Iteration über Zeilen mit automatischem Parsen von Typen.
  • Schreiben — Erstellung von CSV aus Datenstrukturen mit Serialisierung.
  • Konfiguration — Benutzerdefiniertes Trennzeichen (Tabulator, Semikolon), Maskierung, Komprimierung.
  • Arbeit mit Kopfzeilen — Zugriff auf Spalten per Name.
  • Serialisierung/Deserialisierung — Integration mit serde für die automatische Umwandlung von Strukturen.

Codebeispiel in Rust

use csv::ReaderBuilder;use serde::Deserialize;use std::error::Error;

#[derive(Debug, Deserialize)]struct Record { name: String, age: u8, city: String,}

fn main() -> Result<(), Box<dyn Error>> { let data = "name,age,cityAlice,30,New YorkBob,25,London"; let mut reader = ReaderBuilder::new() .has_headers(true) .from_reader(data.as_bytes());

for result in reader.deserialize::<Record>() { let record: Record = result?; println!("{:?}", record); } Ok(())}

Wann verwenden?

Die Bibliothek csv ist ideal für:

  • Verarbeitung von Logs, Exporten aus CRM/ERP.
  • Erstellung von ETL-Pipelines (Extract, Transform, Load).
  • Aufbereitung von Daten für maschinelles Lernen.
  • Import/Export von Konfigurationen in einfachen CLI-Tools.

Wenn Sie hohe Leistung und Typsicherheit benötigen, ist csv die beste Wahl für Rust.

Empfehlungen