Como ler um arquivo CSV no Java

Escrito por kevin walker | Traduzido por juarez jr.
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como ler um arquivo CSV no Java
Leia arquivos CSV com o Java (Ciaran Griffin/Lifesize/Getty Images)

CSV, ou Comma Separated Value, são arquivos comumente usados ​​como um formato universal para troca de dados simples, especialmente entre os aplicativos de planilha. O formato é simples. Pegue uma tabela de dados e coloque o nome de cada coluna, na primeira linha, com cada nome separado dos outros por uma vírgula. Em seguida, vá até a tabela completa, colocando cada linha em uma linha com cada coluna separada por vírgulas. O Java não tem um utilitário embutido para leitura de arquivos CSV, mas isso não deve impedi-lo de usá-los em seu aplicativo Java. O formato simples do arquivo torna fácil a criação de seu próprio arquivo Java para ler CSV.

Nível de dificuldade:
Moderadamente fácil

Outras pessoas estão lendo

Instruções

  1. 1

    Crie uma nova classe CSVParser.java colando as instruções a seguir em um arquivo de texto em branco:

    import java.io.File; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.Scanner; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel;

    public class CSVParser {

    }

  2. 2

    Cole o seguinte método "parse" dentro das chaves da classe:

    public static TableModel parse(File f) throws FileNotFoundException {

    ArrayList<String> headers = new ArrayList<String>(); ArrayList<String> oneDdata = new ArrayList<String>();

    // Obter os cabeçalhos da tabela. Scanner lineScan = new Scanner(f); Scanner s = new Scanner(lineScan.nextLine()); s.useDelimiter(","); while (s.hasNext()) { headers.add(s.next()); }

    // Passar por cada linha da tabela e adicionar cada célula para o ArrayList. while (lineScan.hasNextLine()) { s = new Scanner(lineScan.nextLine()); s.useDelimiter(", *"); while (s.hasNext()) { oneDdata.add(s.next()); } } String[][] data = new String[headers.size()][oneDdata.size()/headers.size()];

    // Mover os dados em uma vanilla array para que ele possa ser colocado em uma tabela. for (int x = 0; x < headers.size(); x++) { for (int y = 0; y < data[0].length; y++) { data[x][y] = oneDdata.remove(0); } }

    // Criar a tabela e retorná-la. return new DefaultTableModel(data, headers.toArray());

    }

  3. 3

    Copie o seguinte método main logo abaixo o método parse do passo dois:

    public static void main(String[] args) throws FileNotFoundException { // Chamar o método parse e colocar os resultados em uma tabela. TableModel t = CSVParser.parse(new File("test.csv"));

    // Imprimir todas as colunas da tabela, seguido de uma nova linha. for (int x = 0; x < t.getColumnCount(); x++) { System.out.print(t.getColumnName(x) + " "); } System.out.println();

    // Imprimir todos os dados da tabela. for (int x = 0; x < t.getRowCount(); x++) { for (int y = 0; y < t.getColumnCount(); y++) { System.out.print(t.getValueAt(x, y) + " "); } System.out.println(); }

    }

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível