問題タブ [supercsv]

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 に答える
563 参照

supercsv - csv で重複する行を見つけて報告するための提案

SuperCSV CsvBeanReader を使用してマッピングとセル検証を実行しているさまざまな数の csv ファイルを含む複数のプロジェクトがあります。csv ファイルごとに Bean を作成し、オーバーライドしました。各 Bean の equals、hashCode、および toString。

csv行の重複識別を実行するための最良の「すべてのプロジェクト」実装方法についての提案を探しています。(削除ではなく) 元の csv の行番号と行の内容、および見つかったすべての重複行の行番号と行の内容を報告します。一部のファイルは数十万行に達し、GB を超えるサイズになり、ファイルごとの読み取り数を最小限に抑えたいと考え、CsvBeanReader がファイルを開いている間にそれを達成できると考えました。

前もって感謝します。

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

java - 引用符がエスケープされていない Java CSV パーサー

引用の問題がある CSV ファイルがあります。

SuperCSV は、これらのフルーツ ワームを窒息させています (しゃれが意図されています)。2"がおそらく であるべきであることはわかっていますが2""、そうではありません。LibreOffice は実際にこれを正しく解析します (これには驚きました)。私は自分の小さなパーサーを書くことを考えていましたが、他の行には文字列内にコンマがあります:

このようなクレイジーなものを処理する Java ライブラリを知っている人はいますか? または、利用可能なすべてのものを試す必要がありますか? それとも、これを自分でハッキングしたほうがいいですか?

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

java - SuperCsv/beanreader を解析すると、最初の行で例外が発生し、NULL が返されます

Supercsv を使用して csv ファイルを解析しようとしています。「キャッチ例外」を使用して、間違った構造またはデータを持つ行を排除します。

すべての行は do / while ループで処理されます。しかし、最初の行で例外 (正規表現...) が発生した場合、read() メソッドの戻り値は null になり、while ループが停止します。

不良行の除去を維持することで、これを回避するにはどうすればよいですか?

コードは次のとおりです。

致命的な解決策は、ucdr を別の値の null に強制することです。しかし、確かにもっと良い方法があります...

私たちを手伝ってくれますか?

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

supercsv - CsvListReader を 1 行に制限する

大きな CSV ファイル (数百 MB) を処理するアプリケーションに取り組んでいます。最近、最初はアプリケーションのメモリ リークのように見える問題に直面しましたが、調査の結果、不適切な形式の CSV と CsvListReader が終わりのない行を解析しようとしていることが原因であることがわかりました。その結果、次の例外が発生しました。

ダンプの結果に基づいてヒープ ダンプと CSV ファイルを分析したところ、CSV 行の 1 つの列の 1 つに閉じ引用符が欠落していることに気付きました。その結果、明らかに、リーダーがファイルの内容を内部文字列バッファーに追加して行末を見つけようとしました。ヒープメモリはもうありませんでした。

とにかく、それが問題であり、それは不適切な形式の CSV が原因でした-重要な行を削除すると、問題はなくなりました。私が達成したいのは、読者に次のことを伝えることです。

  • 解釈する必要があるすべてのコンテンツは、引用符が適切に閉じられていない場合でも、常に改行文字で終了します (複数行のサポートなし)
  • または、CSV 行の特定の制限 (バイト単位) を提供するには

CsvListReader (私の場合は推奨) を使用して SuperCSV でこれを行う明確な方法はありますか?

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

java - OpenCSVでCSVを複数/ネストされたBeanタイプに解析しますか?

いくつかの標準的な列といくつかの完全にランダムなフィールドを含むさまざまな CSV があります。

だから私はそれらを姓と名を保持する Person.class Bean に解析しようとしています。

2 つのクラスの概要:

opencsv で CsvToBean 関数を使用しています。

ただし、Person.class Bean の csv を解析しているときに、PersonAttribute.class Bean の作成を処理する方法がわかりません。私はこの投稿に出くわし、私がやろうとしていることを簡単に処理するために supercsv に切り替える必要があるかどうか疑問に思っていますか?

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

supercsv - フォントフォーマットを含む SuperCsv を使用した Excel ファイルの書き込み

SuperCSV を使用して Excel ファイルを書き込んでいます。取り消し線など、一部のセルにフォントの書式を追加するにはどうすればよいですか?

ありがとう!