Kasper B. Graversen lançou dia 12 de setembro a versão 1.0 da biblioteca Super CSV, para manipulação do formato de dados/arquivo Comma-separated values (CSV — Valores separados por vírgula) em Java.
O CSV é um formato de dados simples para gravação de listas ou linhas de dados em um formato de arquivo texto. É freqüentemente utilizado como um formato de exportação de dados de planilhas, tabelas ou conjuntos de registros de banco de dados, ou qualquer outra listagem no formato tabular simples linhas × colunas.
O princípio do formato CSV é simples: cada registro é armazenado em uma linha de texto, e as colunas ou campos na linha/registro são separados entre si por vírgula. Ainda não é um padrão, mas há uma especificação CSV como tipo MIME na RFC 4180.
Alguns programas (como a planilha Microsoft Excel) e bibliotecas suportam não só o formato CSV, mas também outros tipos de lista em formato texto, um registro por linha, com campos separados por delimitadores (vírgula, ponto-e-vírgula, tabulação/TAB etc.) ou de tamanho fixo.
Bibliotecas software livre para gravação e leitura do formato CSV, em Java:
- Super CSV, por Kasper B. Graversen. Download Super CSV.
- opencsv, por Glen Smith. Download opencsv.
- Comma Separated Values (CSV) e Excel CSV libraries – com.Ostermiller.util Java Utilities.
- Java CSV, por CSVReader.com. Projeto Java CSV Library em SourceForge.
- JSefa – Java Simple Exchange Format API, biblioteca para serialização e leitura de objetos java, baseada em fluxo (stream), suporta XML (JSR-173 Stax), CSV e FLR (Fixed Length Record).
- CSVObjects Framework, por Anupam Sengupta. Mapeamento declarativo de campos CSV e tipos de dados para atributos Java Bean, realizando parsing transparente de arquivos e registros CSV em POJOs. Projeto csvparser em SourceForge.
- CsvJdbc, Driver JDBC somente-leitura simples que mapeia arquivos CSV como tabelas de banco de dados.
- JasperReports, framework de relatórios com suporte a CSV.
- Commons CSV Sandbox, em desenvolvimento/maturação no projeto Apache Commons, iniciado pela doação de código por Netcetera na Suíça.
- CSV Tools, por Brian McCallister, 2005.
- gj-csv, componente integrante do projeto Genjava.
- CSVReader/Writer, por Canadian Mind Products.
Produtos comerciais:
- CSV Manager, leitura e escrita de arquivos CSV. Por Ricebridge.
- StelsCSV, driver JDBC tipo 4 que permite realizar consultas SQL e outras operações JDBC em arquivos texto (CSV/comma-separated, delimiter-separated, fixed-length etc). Por J-Stels Software.
Para saber mais (em inglês):
- Comma-separated values e Delimiter-separated values, por Wikipedia, a enciclopédia livre.
- RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Files, por Y. Shafranovich, outubro 2005.
- How To: The Comma Separated Value (CSV) File Format – Create or parse data in this popular pseudo-standard format. Por Dominic John Repici, 2002 – 2007, Creativyst, Inc.
E tem mais:
http://jsefa.sourceforge.net/
valeuz…
Obrigado pela dica, Marcos. Atualizei o artigo para adicionar JSefa.
Qual é o mais usado entre os citados?
Fabricio: Não sei.
Pelo menos a página do Super CSV o apresenta assim: “A principal motivação para Super Csv é ser o melhor, mais rápido e mais amigável ao programador pacote CSV gratuito em Java.”
Se é o mais usado eu não sei, mas o marketing é bom. 🙂
Se chegar a sua própria conclusão, por favor poste um comentário aqui… abraços!