6

csvを読み取るときにヘッダーの大文字と小文字を無視するためのApache CSV実装の組み込み機能はありますか?

少し前に、CSV エクスポート ファイルを SQL に変換するためのユーティリティを実装しました。そのために、Apache CSV を選択しました。今までは何の問題もなかったのに、変更の依頼が来ました。

処理するすべての CSV ファイルにはヘッダーが含まれている必要があり、大文字と小文字を区別しない方法でそれらのヘッダーを読み取る必要があるため、ユーザーは作成した CSV がヘッダーの大文字と小文字の要件に従っているかどうかを確認する必要がありません。

コードサンプル:

for (CSVRecord record : subsidiaryRows) {
    String name = record.get(Data.NAME));

ここで Data.NAME は

public static final String NAME = "Name";

また、ユーザーがCSVの列ヘッダーとして大文字の「N」の「名前」ではなく「名前」を使用すると、問題が明らかに発生します。

API とソースの両方をたどりましたが、何も見つかりませんでした。CSVRecord がそのマッピングまたは同様のものに CaseInsensitiveMap を使用するように強制する方法はありますか?

4

3 に答える 3

-1

Apache CSV を使用したことはありませんが、以下が役立ちます

Map<String, String> nodeMap = 
    new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
于 2015-04-28T06:09:10.153 に答える