問題タブ [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 投票する
1 に答える
38 参照

java - apache.commons.csv.CSVPrinter のコンストラクターはどのような状況で IOException をスローしますか?

org.apache.commons.csv.CSVPrinterのドキュメントによると、 「[2 番目の引数で提供される] オプションのヘッダーを印刷できない場合」に IOException がスローされます。しかし、オプションのヘッダーが印刷できない原因は何でしょうか? 一部の文字列がヘッダーで無効になっていますか?

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

java - Apache commons CSV は、csv ファイル内の破損または無効なレコードを無視し、解析を続行します

99.9% 正確で有効なデータを含むほぼ有効な CSV ファイルを解析しようとしています。ただし、途中で無効なレコードがいくつかあります(引用符が多すぎます)。

私のコード

無効な行/レコードに遭遇したときにスキップして次の行に移動するように CSV を解析するにはどうすればよいですか?

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

java - Java: 行番号なしで InputStream と Apache Commons CSV を使用する

これはおそらく非常に単純ですが、これを行うオプションを見つけることができませんでした。Apache Commons CSV を使用して、後で検証するためにファイルを読み取ろうとしています。問題の CSV は入力ストリームとして送信されます。これは、ファイルを読み取るときに、行番号を含む追加の列をファイルに追加するようです。ヘッダー行に数字が含まれていないため、エラーが発生するため、可能であれば無視できるようにしたいと考えています。これを行うためのオプションが InputStream に既にありますか、それとも何らかの後処理をセットアップする必要がありますか?

私が使用しているコードは次のとおりです。

を使用withHeader()すると、次のエラーが発生します。

ヘッダー行でいくつかの検証を行う必要があるため、単純にスキップすることはできません。

また、CSV ファイルの例を次に示します。

編集:また、最終目標は以下を検証することです:

  1. 「Employee_ID」、「Department」、「Email」という列があること。このためには、.withHeader() を削除する必要があると思います。
  2. 各行はコンマで区切られています。
  3. 空のセルの値はありません