1

データを含む CSV ファイル (Excel) があり、Java を使用してデータを解析する必要があります。これらのファイルのデータはコンマで区切られていません.CSVファイルには、すべてのデータが書き込まれる列数と行数(各セルにデータがあります)があります. 各ファイルのEOF(ファイルの終わり)に到達してデータを解析するまで、すべてのファイルを調べる必要があります。ファイルには空の行も含まれているため、空の行は解析を停止する基準ではありません。特定のファイルの終わりに達したことを示すのはEOFだけだと思います。

どうもありがとう。

4

4 に答える 4

2

opencsvを使用してExcelのCSVを解析できます。私はこれを自分で使用しました。あなたがする必要があるのは「;」で分割することだけです。空のセルも解析されます。

あなたはここで情報を見つけることができます:http://opencsv.sourceforge.net/

そして、excelCSVを解析するには、次のことができます。

 CSVReader reader = new CSVReader(new FileReader("yourfile.csv"), ';');
于 2012-12-03T07:44:02.917 に答える
1

他の提案とは別に、Jackson CSV モジュールを提供します。Jackson には非常に強力なデータ バインディング機能があり、CSV モジュールを使用すると、JSON (または XML、YAML、およびその他のサポートされている形式) の代わりに CSV として読み書きできます。そのため、強力な CSV と POJO 間のバインディングに加えて、他のデータ形式間の変換も行うことができます。

于 2012-12-05T06:14:11.143 に答える
0

CSVファイルを読み取るにはストリームオブジェクトが必要です。

FileInputStream fis = new FileInputStream("FileName.CSV");

BufferedInputStream bis = new BufferedInputStream(fis); InputStreamReader isr = new InputStreamReader(bis);

inputstreamオブジェクトを読み取り、ファイルをStringオブジェクトに格納します。

次に、区切り文字として[comma]を指定してStringTokenizerを使用します->トークンを取得しますトークンを操作して値を取得してください。

String str = "This is String , split by StringTokenizer, created by mkyong";

StringTokenizer st = new StringTokenizer(str);

    System.out.println("---- Split by space ------");
    while (st.hasMoreElements()) {
        System.out.println(st.nextElement());
    }

    System.out.println("---- Split by comma ',' ------");
    StringTokenizer st2 = new StringTokenizer(str, ",");

    while (st2.hasMoreElements()) {
        System.out.println(st2.nextElement());
    }

ありがとう、

パヴァン

于 2012-12-03T08:13:40.480 に答える