問題タブ [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.
java - apache-commons-csv println メソッドが出力に改行を出力しない
私は apache-commons-csv 1.6 が初めてです
すべてのレコードを改行してcsvファイルを印刷するという基本的な要件があります。CSVPrinter の println メソッドを使用しようとしています。奇妙な理由で、出力ファイルには改行文字がありません。すべてが 1 行で印刷されます。
出力を Notepad++ で開いて、印刷できない文字を表示しようとしました。レコード間に文字はありません。どんな助けでも大歓迎です。ありがとう。
期待される結果:
ID|タイプ|値|キー
4|Excel|0|Excel.sheet.no
5|エクセル|日/月/年|エクセル.日付.形式
6|エクセル|0|エクセル.baserate.rownum
実際の結果: id|type|value|key4|excel|0|excel.sheet.no5|excel|dd/MM/yyyy|excel.date.format6|excel|0|excel.baserate.rownum
java - HashMap の列と値を含む CSV ファイルを作成する
優しくしてください。Apache Commons CSV 1.7 を使用するのはこれが初めてです。
いくつかの CSV 入力を処理し、外部ソースからいくつかの追加情報を追加してから、別のシステムに取り込むためにこの CSV を書き出すサービスを作成しています。
収集した情報を
HashMap<String, String>
、最終出力 csv の各行のリストに保存します。ハッシュマップには、<ColumnName, Value for column>
.
CSVPrinter を使用して HashMaps の値を行に正しく割り当てるのに問題があります。変数間にコンマを使用して、値を文字列に連結できます。ただし、これは文字列全体を最初の列に挿入するだけです。
ヘッダーは構成ファイルから取得され、サービスを使用するプロジェクトに応じて変更される可能性があるため、ヘッダーを定義またはハードコードすることはできません。
これが私のコードの一部です:
ご協力ありがとうございます。
java - Apache Commons CSV は欠落している列を無視しません
解析に Apache Commons CSV を使用しますが、欠落している列を無視せず、例外をスローします。
このサンプルデータでは:
以下のコードrecord.get(DataColumns.surname)
は をスローしjava.lang.IllegalArgumentException: Mapping for surname not found, expected one of [name, surname, age]
ます。null、オプション、またはデフォルト値を返す必要があります。オプションはありますか?私はそれが可能であることを知っていますrecord.toMap().get(DataColumns.surname.name())
が、そのパフォーマンスは良くありません: