csv — Trabalhando com arquivos CSV em Rust

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é csv?

csv é uma biblioteca padrão da linguagem Rust para ler e escrever arquivos no formato CSV (Comma-Separated Values). Ela fornece uma interface de alto desempenho e flexível para trabalhar com dados tabulares, suportando cenários simples e complexos (por exemplo, escape, diferentes delimitadores, cabeçalhos).

Para que serve?

CSV é um dos formatos mais comuns para troca de dados entre aplicações, bancos de dados e planilhas eletrônicas. A biblioteca csv permite:

  • Carregar e processar rapidamente grandes conjuntos de dados (logs, exportações do Excel/Google Sheets, dumps de BD).
  • Gerar relatórios e exportações em um formato legível para humanos.
  • Integrar aplicações Rust com sistemas que operam via CSV (por exemplo, sistemas financeiros, pipelines de ML).

Como instalar?

Adicione a dependência no Cargo.toml do seu projeto:

[dependencies]csv = "1.3"

A instalação é feita automaticamente durante a compilação com cargo build.

Principais funcionalidades

  • Leitura — iteração sobre linhas com parsing automático de tipos.
  • Escrita — criação de CSV a partir de estruturas de dados com serialização.
  • Configuração — delimitador personalizado (tabulação, ponto e vírgula), escape, compressão.
  • Trabalho com cabeçalhos — acesso a colunas pelo nome.
  • Serialização/Deserialização — integração com serde para transformação automática de estruturas.

Exemplo de código em 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(())}

Quando usar?

A biblioteca csv é ideal para:

  • Processamento de logs, exportações de CRM/ERP.
  • Criação de pipelines ETL (extração, transformação, carga).
  • Preparação de dados para machine learning.
  • Importação/exportação de configurações em utilitários CLI simples.

Se você precisa de alto desempenho e segurança de tipos — csv é a melhor escolha para Rust.

Recommendations