Comma Serapated Formatでファイルを解析する最も簡単な方法は、Apacheコモンズライブラリを使用することです。 ライブラリは、Excelからエクスポートされた形式を解析できます。 jarファイルは、mavenのメインリポジトリで利用できます。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.4</version>
<type>jar</type>
</dependency>
この例では、パラメータとして渡されたパスからファイルをロードします。 ファイルはFileReaderを使用してロードされます。 次に、Excel形式を使用してReaderを解析するCSVParserが作成されます。 この例は、Googleウェブマスターツールからエクスポートされたファイルに基づいています。 最初の行にはファイルのヘッダーが含まれており、メインループで個別に処理する必要があります。 ヘッダーが処理されると、すべてのレコードを処理できます。 ここでは、出力に書きます。
import org.apache.commons.csv.CSVRecord;
import org.apache.commons.csv.CSVParser;
import java.io.FileReader;
import java.io.Reader;
import org.apache.commons.csv.CSVFormat;
public class ParseCSVFile {
public void processFile(String file){
try {
Reader in = new FileReader(file);
CSVParser parser = CSVFormat.EXCEL.parse(in);
// Loop on all the records of the file
recordsLoop:for (CSVRecord record : parser) {
// Process the headers in the first line
if( record.getRecordNumber() == 1 ){
System.out.println( record.get( 0 ) + "\t" + record.get( 1 ) + "\t" + record.get( 2 ) + "\t" + record.get( 3 ) );
continue recordsLoop;
}
// Display the current record
System.out.println( record.get( 0 ) + "\t" + record.get( 1 ) + "\t" + record.get( 2 ) + "\t" + record.get( 3 ) );
// We only display the first 2 records
if( record.getRecordNumber() == 3 )
break;
}
} catch( Exception e ){
e.printStackTrace();
}
}
public static void main(String[] argv){
ParseCSVFile csvFile = new ParseCSVFile();
csvFile.processFile( "SearchAnalytics.csv" );
}
}
Pages Clicks Impressions CTR http://oliviertech.com/java/generate-SHA1-hash-from-a-String/ 436 8445 5.16% http://oliviertech.com/java/generate-SHA256--SHA512-hash-from-a-String/ 380 5826 6.52%
CSV形式のファイルは便利で読みやすい。 主な欠点は、CSV形式でエクスポートするツールではインポートされないため、フォーマットにエラーが発生しやすいことです。 xmlを使用することが望ましい