問題タブ [opencsv]

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

java - OpenCSV がデータベースの最初の行を CSV ファイルに書き込まない

データベースからデータをダウンロードし、OpenCSVを使用してCSVファイルに保存するNetbeansを使用してJavaでプログラムを作成しました。ただし、何らかの理由でデータベースの最初の行がスキップされます。

実際のデータベース データ:

CSV ファイルに書き込まれるデータ:

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

java - 一意の値を使用してCSVファイルから特定の行を選択する方法

これらの値を含む数行のCSVファイルがあります。

これで、OpenCSVを使用して特定の行を選択する方法がわかりました。1行目、2行目、3行目などですが、たとえば最初の値が6の行を選択する方法がわかりません。助言がありますか?

ありがとう

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

mysql - このデータベース ダンプの設計は問題ありませんか?

私は、次のことを行う Java プログラムを作成しました。設計に関する意見を求めています。

  1. CSV ファイルからデータを読み取ります。このファイルは、6 列のデータベース ダンプです。
  2. MySQL データベース テーブルにデータを書き込みます。

データベーステーブルは次のとおりです。

  1. 各行を格納するオブジェクトを作成しました。
  2. OpenCSV を使用して、1 で作成したオブジェクトのリストに各行を読み込みました。
  3. このオブジェクトのリストを反復し、PreparedStatements を使用して、各行をデータベースに書き込みます。

ソリューションは、要件の変更に非常に順応し、優れたアプローチ、堅牢性、およびコード品質を示す必要があります。

そのデザインは大丈夫ですか?

私が試した別の方法は、「LOAD DATA LOCAL INFILE」SQL ステートメントを使用することでした。それはより良い選択でしょうか?

編集:私は現在 OpenCSV を使用しており、実際のフィールド内にコンマがあるという問題を処理しています。現在の問題は、DB に何も書き込まれていないことです。誰でも理由を教えてもらえますか?

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

java - 引用符で囲まれた要素と引用符で囲まれていない要素を含むopencsv書き込みファイル

Javaでopencsvを使用して、一部の要素のみを二重引用符で囲む必要があるcsvファイルを作成した経験はありますか?私がテストしようとしている望ましい出力は、次のようなファイルを作成することです。

1,"two",three

しかし、私が次のコードを試してみると

次の出力が発生します

1,""two"",three

考え?

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

java - CSVからバッチを作成すると、誤った状態になります

opencsvのCSVWriterを使用して書き込まれたCSVファイルから次のようにバッチを作成しようとしています。CSVWriterwriter=new CSVWriter(new FileWriter(filePath + createFileName)、'、'、CSVWriter.DEFAULT_QUOTE_CHARACTER);

そして、BufferedReaderは書き込まれたファイルを読み取ります。Csvファイルが書き込まれていて、読み取り操作もうまくいくと思います。だから、これまでのところうまく機能しています。しかし、同じ操作を使用してCsvに書き込む特定のデータを選択すると、バッチの作成でエラーが発生します。「CSVの解析に失敗しました。エスケープされていない引用符が見つかりました。引用符付きの値は引用符内にある必要があります」という例外が発生し、アプリケーションが期待どおりに動作しないようになっています。

このエラーが発生した後、データに「」(二重引用符)または「(二重引用符)」記号が含まれているようです(データは「asdf」、「1.0」、「」、「def」の形式で表示されます。 ")。私の理解では、二重引用符を見つけるためにRegexを適用しようとしましたが、ファイルを調べた後、繰り返される二重引用符が含まれていないため、見つかりませんでした。私がたどったリンクは次のとおりです。CSVファイル内のエスケープされていない連続しない二重引用符を置き換えます

その後、コードで次を使用します。File tmpFile = File.createTempFile( "bulkAPIInsert"、 ".csv"); データを一時ファイルに保持してから削除します。

上記のコードを次のコードに置き換えた後、私はどういうわけか次の例外を処理しましたが、さらに「CSVの解析に失敗しました。開いた見積もりを閉じる前にEOFに到達しました」という別の例外が発生しました。ファイルtmpFile=new File( "bulkAPIInsert.csv");

アプリケーションのパフォーマンスの問題になるため、上記の回避策に従うべきではないと思います。

CSVReaderクラスを調べると、取得したものとまったく同じ例外を示すカスタム例外が定義されていることがわかりました。しかし、二重引用符(CSVファイルのセル値)内に二重引用符が見つかった場合に発生すると思います。リンクを次のように参照しました:https ://github.com/mulesoft/salesforce-connector/blob/master/src/main/java/com/sforce/async/CSVReader.java

誰かが私が間違っているところやこの問題の回避策を教えてもらえますか?

コードスニペットを次のように共有します:Method1次にMethod2が呼び出されます。

BatchInfoのgetStateMessage()メソッドは、説明されているエラーメッセージを表示します。

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

java - ファイルを読み込もうとすると java.io.FileNotFoundException が発生する

csv ファイルを読み取り、内容を JList に表示する小さなアプリを作成しています。

私の現在の問題は、new FileReader(file)コードがjava.io.FileNotFoundExceptionエラーを出し続けていることであり、その理由はよくわかりません。

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

java - opencsvを使用して「\」を含む文字列を読み取る方法は?

opencsv を使用して csv ファイルを読み取っているときに、文字列の末尾に「\」があると正しく機能しません。必要に応じて「\」ではなく、文字列の " 部分を作成します。別の「\」を追加して、代わりに「\」文字をエスケープさせる方法が必要だと思いますか?手動で編集する必要はありませんcsv ファイルを検索しましたが、何も見つかりませんでした。

私の問題を明確にするために、次のようになります。

csvファイル

私のコードは次のようになります(実際にはそうではありませんが、私の問題を示しています):

これを、行ごとにそれぞれ 4 つの要素を持つ String[] に解析したいのですが、次の出力に示すように、最後の行は 2 つの要素にしか解析されません。

リーダーを次のように変更しようとしました。

しかし運がない。

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

android - 読み取り中にcsvファイルに最後のエントリのみが表示されますか?

次のコードを使用してファイルを読み取っています

`FileReader fr=new FileReader("/mnt/sdcard/content.csv");

また、opencsvクラスを使用してみましたが、両方の方法でファイルの最後のエントリしか読み取ることができません..何が欠けていますか?誰かが私に説明できますか?

これは、ファイルを読み取るために使用している私のコードです

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

java - openCSV がファイル全体を読み取らない

ファイル(非常に大きい)を読み取るためにopenCSVを使用しているJavaのアプリケーションがあります。次に、4番目の列(最終的には、違いが生じる場合は1つまたは2つの列が追加されます)をHashSetに入れ、それを新しいファイルに出力します。これはすべて正常に動作しているように見えますが、ファイルの一部 (272,948 行中 131,544 行) しか読み取っていないことがわかりました。これは openCSV または Java の一般的な制限ですか、それともこれを回避する方法はありますか?

参照用の私のコード:

私のコードが乱雑で申し訳ありませんが、これは私の最初の実際の「完成した」Java アプリケーションです。どんな支援も大歓迎です。

これらの行をtxtファイルから削除して、文字などでハングアップしていないことを確認しましたが、とにかくその行で停止しているようです

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

java - JavaでOpenCSVを使用してCSVファイルを読んでいます。

私のcsvファイルにはいくつかのパスがあり、開いているCsvは "\"なしでパスを読み取っています。たとえば、:C:\abc\ab.txt は。として読み取られC:abcab.txtます。そのまま読みたいのですが??