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
serdepara 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.
Também na biblioteca
Rate Limiting em Kotlin: bibliotecas e exemplos práticos
Guia completo de ts-pattern para TypeScript com exemplos práticos
Métricas Prometheus em C# (.NET): integração e configuração