問題タブ [apache-commons-csv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
679 参照

csv - 例外許容範囲でGroovyでCSVを解析する

現在ライブラリorg.apache.commons.csv 2.4を使用して、groovyでcsvファイルを解析しようとしています。私が持っている要件は、csv セルに無効な文字などの無効なデータ値があり、最初の無効な行/セルで例外をスローする代わりに、これらの例外を収集し、最後まで csv ファイルで反復し続けたいということです。次に、この csv ファイルに含まれる無効なデータの完全なリストが表示されます。

その目的で、この apache lib を使用する複数の方法を試しましたが、残念ながら反復に CSVParser.getNextRecord() を使用している限り、反復子は中止されます。

次のようなコードを入力します。

では、この図書館で掘り下げるべきものは他にありますか? または、誰かが私に別のより実行可能な解決策を教えてもらえますか? みんなに感謝します!

更新: サンプル CSV

2 番目のデータ行に無効な文字"が含まれているため、パーサーは例外をスローします

0 投票する
1 に答える
3623 参照

java - FileUtilsを使用してJUnit Testのリソースディレクトリからcsvファイルを読み取る方法

次のように、標準の maven プロジェクトのリソース ディレクトリ内に csv ファイルを配置します。

果物.csv

以下のライブラリの使用

フルーツ(標準POJO)

Csvファイルリーダー

CsvFileReaderTest (JUnit 4 テスト ケース):

Eclipse 内で JUnit テスト ケースを実行すると、次のようになります。

ファイルを読み取っているようですが、問題は FileName が長すぎることですか?

私は何を間違っていますか?

0 投票する
1 に答える
957 参照

csv - Apache CSV で未加工のレコードを取得する

Apache CSVを使用する場合に、生のレコード、つまり csv ファイルにある行を文字列として取得する方法

0 投票する
0 に答える
221 参照

java - ヘッダー行インデックスを Apache Commons CSV に渡す

Apache Commons CSV は、 でヘッダー列を渡す方法を提供しますwithHeaders()。しかし、特定の行インデックスをヘッダー行として Apache Commons に渡す方法はありますか。ドキュメントを調べましたが、何も見つかりませんでした。

0 投票する
5 に答える
18722 参照

java - Apache Commons を使用して CSV ファイルのヘッダーを取得する

過去 2 時間、問題の解決策を無駄に探していました。Apache commonsを使用して CSV ファイルを読み取ろうとしています。ファイル全体を読み取ることはできますが、配列内の CSV のヘッダーのみを抽出する方法が問題です。

0 投票する
3 に答える
27658 参照

java - Java - Apache.commons.csv で CSV ファイルを書き込む

Java で apache.commons.csv ライブラリを使用しています。次のコードを使用して、Web ページから CSV ファイルを読み取っています。

ただし、このライブラリには、このファイルを開いて後で読み取るために、このファイルをコンピューターに簡単に書き込む方法が見つかりません。

ファイルを保存するためにこのコードを試しました。

ただし、このコードでファイルを読み込もうとすると、何も出力されません。

これは「print:」のみを出力します

それは

スレッド「メイン」での例外 java.lang.ArrayIndexOutOfBoundsException: 1

保存した CSV ファイルをメモ帳で開くと、空白行があり、次のようになります。

2016-03-04,714.98999,716.48999,706.02002,710.890015,1967900,710.890015," ",2016-03-03,718.679993,719.450012,706.02002,712.419983,1956800,712.419983," ",2016-03-02,719.00,720.00,712.00,718.849976, 1627800,718.849976、"

0 投票する
2 に答える
1226 参照

java - Apache コモンズ csv

apache commons csv ライブラリのコアが理解できません。apache-commons-csv で csv ファイルからヘッダー名で列を取得したい場合に使用する方法を教えてください。たとえば、次のような csv ファイルがあります。

配列を取得したい: double[] delays、double[] compTime、double[] commTime は、csv の値で構成されます。

0 投票する
3 に答える
4312 参照

java - 保存前後の CSV の違いによる解析エラー (Java w/Apache Commons CSV)

Apache Commons CSV 1.2 を使用して Java で解析している 37 列の CSV ファイルがあります。私のセットアップコードは次のとおりです。

私の問題は、処理する CSV をターゲット ディレクトリにコピーして解析プログラムを実行すると、次のエラーが発生することです。

ただし、ファイルをターゲット ディレクトリにコピーし、開いて保存し、プログラムを再試行すると、機能します。CSV を開いて保存すると、最後に必要なコンマが追加されるため、プログラムは、読み取るヘッダーが不足していることに不満を抱くことはありません。

コンテキストとして、保存前/保存後のサンプル行を次に示します。

変更前 (失敗): "data","data","data","data"

後 (作業中): "data","data",,,,"data",,,"data",,,,,,

私の質問: CSV 形式を開いて保存すると、なぜ CSV 形式が変わるのですか? 値やエンコーディングは変更していません。保存時の動作は、MS-DOS または通常の .csv 形式と同じです。また、テストではExcelを使用してコピー/開く/保存しています。

使用する必要があるエンコーディングまたはフォーマット設定はありますか? これをプログラムで解決できますか?

前もって感謝します!

編集#1:

追加のコンテキストとして、元のファイルで最初に空の行を表示すると、次のような改行 ^M 文字が含まれています。

Excel で開いて保存すると、37 個の空のフィールドがすべて次のようになります。

これは Windows エンコーディングの不一致ですか?