csv — Trabajo con archivos CSV en Rust

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 csv?

csv es una biblioteca estándar del lenguaje Rust para leer y escribir archivos en formato CSV (Comma-Separated Values). Proporciona una interfaz de alto rendimiento y flexible para trabajar con datos tabulares, soportando tanto escenarios simples como complejos (por ejemplo, escape, diferentes delimitadores, encabezados).

¿Para qué sirve?

CSV es uno de los formatos más comunes para el intercambio de datos entre aplicaciones, bases de datos y hojas de cálculo. La biblioteca csv permite:

  • Cargar y procesar rápidamente grandes conjuntos de datos (logs, exportaciones de Excel/Google Sheets, dumps de BD).
  • Generar informes y descargas en un formato legible para humanos.
  • Integrar aplicaciones Rust con sistemas que funcionan a través de CSV (por ejemplo, sistemas financieros, pipelines de ML).

¿Cómo instalar?

Agregue la dependencia en Cargo.toml de su proyecto:

[dependencies]csv = "1.3"

La instalación se realiza automáticamente al compilar con cargo build.

Funciones principales

  • Lectura — iteración sobre filas con análisis automático de tipos.
  • Escritura — creación de CSV a partir de estructuras de datos con serialización.
  • Configuración — delimitador personalizado (tabulación, punto y coma), escape, compresión.
  • Trabajo con encabezados — acceso a columnas por nombre.
  • Serialización/Deserialización — integración con serde para la transformación automática de estructuras.

Ejemplo de código en 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(())}

¿Cuándo usarla?

La biblioteca csv es ideal para:

  • Procesamiento de logs, exportaciones de CRM/ERP.
  • Creación de pipelines ETL (extracción, transformación, carga).
  • Preparación de datos para machine learning.
  • Importación/exportación de configuraciones en utilidades CLI simples.

Si necesita alto rendimiento y seguridad de tipos — csv es la mejor opción para Rust.

Recommendations