Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako čítať CSV súboru do Java

CSV , alebo hodnoty oddelené čiarkami , súbory sú bežne používané ako univerzálny formát pre výmenu jednoduchých dát , najmä medzi tabuľkových aplikácií . Formát je jednoduchý . Vezmite si tabuľku dát a uviesť názov každého stĺpca na prvom riadku , s každým menom oddelená od ostatných čiarkou . Potom prejsť plným stolom , umiestnenie každý riadok na riadku s každého stĺpca oddelené čiarkami . Java nemá vstavaný nástroj pre čítanie súborov CSV , ale to by nemalo zastaviť od ich použitia v Java aplikácii . Zjednodušujúce formát uľahčuje vytvoriť svoj ​​vlastný Java súboru CSV parser . Pokyny dovolená 1

Vytvorte novú triedu s názvom CSVParser.java vložením nasledujúceho do prázdneho textového súboru :

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

public class CSVParser { }
2

Vložiť nasledujúce " analyzovať " metódu do neho zátvorkách v triede :

public static TableModel parse ( File f ) throws FileNotFoundException {

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

//Získajte záhlavie na table.Scanner Linescan = new Scanner ( f ) ; skener s = new Scanner ( lineScan.nextLine ( ) ) ; s.useDelimiter ( " , " ) , zatiaľ čo ( s.hasNext ( ) ) { headers.add ( s.next ( ) ) ; }

//prejsť každý riadok tabuľky a pridať každú bunku na ArrayListwhile ( lineScan.hasNextLine ( ) ) { s = new Scanner ( lineScan.nextLine ( ) ) ; s.useDelimiter ( " * " ) , zatiaľ čo ( s.hasNext ( ) ) { oneDdata.add ( s.next ( ) ) ; } } String [ ] [ ] data = new String [ headers.size ( ) ] [ oneDdata.size ( ) /headers.size ( ) ] ; //presunúť dáta do vanilkovou poľa , takže je možné dať do table.for ( int x = 0 ; x < headers.size ( ) ; x + + ) { for ( int y = 0 ; . y < údajov [ 0 ] dĺžka , y + + ) { Dáta [ x ] [ y ] = oneDdata.remove ( 0 ) ; } } //Vytvorenie tabuľky a vráti it.return nové DefaultTableModel ( údaje , headers.toArray ( ) ) ;

}

3

vložte nasledujúci hlavnú metódu len pod metóde analýze z Krok 2 :

public static void main ( String [ ] args ) throws FileNotFoundException { //volanie metódy parse a dať výsledky v table.TableModel t = CSVParser.parse ( new File ( " test.CSV " ) ) ;

//tlač všetkých stĺpcov v tabuľke, musia nasledovať nový line.for ( int x = 0 ; x < t.getColumnCount ( ) x + + ) { System.out.print ( t.getColumnName ( x ) + " " ) ; } System.out.println ( ) ; celým

//Tlač všetky dáta z table.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 ( ) ; }

}

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené