Como ler um arquivo CSV em java

Como ler um arquivo CSV para Java

CSV, ou Comma Separated Value, os arquivos são comumente usados ​​como um formato universal para troca de dados simples, especialmente entre os aplicativos de planilha. O formato é simples. Aqui 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 separados por vírgulas. Java não tem construído em um utilitário para a leitura de arquivos CSV, mas isso não deve impedi-lo de usá-los em seu aplicativo Java. O formato simplista torna mais fácil para criar seu próprio analisador de arquivo Java CSV.

  • Criar uma nova classe chamada CSVParser.java colando o seguinte em um arquivo de texto em branco:

    importação java.io.File-
    importação java.io.FileNotFoundException-
    importação java.util.ArrayList-
    importação java.util.Scanner-
    importação javax.swing.table.DefaultTableModel-
    importação javax.swing.table.TableModel;

    CSVParser classe pública {
    &# 9-
    }

  • Cole a seguinte "analisar" Método para ele entre os colchetes na classe:

    pública parse TableModel estática (File f) lança FileNotFoundException {

    ArrayList cabeçalhos = new ArrayList() -
    ArrayList
    oneDdata = new ArrayList() -

    &# 9-&# 9 - // Obter os cabeçalhos da tabela.

    Linescan Scanner = new Scanner (f) -
    Scanner s = new Scanner (lineScan.nextLine ()) -
    s.useDelimiter (&quot-,&quot -) -
    enquanto (s.hasNext ()) {
    headers.add (s.next ()) -
    }

    &# 9-&# 9 - // Passar por cada linha da tabela e adicionar cada célula para o ArrayList

    enquanto (lineScan.hasNextLine ()) {
    s = new Scanner (lineScan.nextLine ()) -
    s.useDelimiter (&quot-, *&quot -) -
    enquanto (s.hasNext ()) {
    oneDdata.add (s.next ()) -
    }
    }
    String [] [] data = new String [headers.size ()] [oneDdata.size () / headers.size ()] -

    &# 9-
    &# 9-&# 9 - // Mover os dados em uma matriz de baunilha para que ele possa ser colocado em uma mesa.



    for (int x = 0- x lt; headers.size () - x ++) {
    for (int y = 0- y lt; data [0] y .length- ++) {
    dados [X] [Y] = oneDdata.remove (0) -
    }
    }

    &# 9-&# 9-
    &# 9-&# 9 - // Criar uma tabela e devolvê-lo.

    retornar novos DefaultTableModel (dados, headers.toArray ());

    }

  • Cole o seguinte método main logo abaixo o método de análise a partir do Passo 2:

    main (String [] args) public static void joga FileNotFoundException {
    &# 9 - // Chamar o método de análise e colocar os resultados em uma tabela.
    TableModel t = CSVParser.parse (new File (&quot-test.csv&quot -)) -

    &# 9-&# 9 - // imprimir todas as colunas da tabela, seguido por uma nova linha.

    for (int x = 0- x lt; t.getColumnCount () - x ++) {
    System.out.print (t.getColumnName (x) + &quot- &quot -) -
    }
    System.out.println () -

    &# 9-&# 9 - // imprimir todos os dados a partir da tabela.

    for (int x = 0- x lt; t.getRowCount () - x ++) {
    for (int y = 0- y lt; t.getColumnCount () - y ++) {
    System.out.print (t.getValueAt (x, y) + &quot- &quot -) -
    }
    System.out.println () -
    }

    }

De esta maneira? Compartilhar em redes sociais:

LiveInternet