12 列の .csv ファイルがあり、CSVReader クラスでファイルを読み取ります。
List<String[]> rows = reader.readAll();
しかし、一部の String[] の要素が 12 未満であることがわかりました。デバッグしたところ、これは CSV テキスト形式の問題であることがわかりました。
2 つの問題があります。
一部の列はバックスラッシュで終わります。
たとえば、エスケープ文字と見なされるように、
"Column A content\", "Column B content"
1 つの列として読み取られます。\"
一部のセルの内容が含ま
\"
れています。たとえば、ある行では、列 A の内容はコマンド ラインです。
"d -R u+rwX \""${MYTMP}\"" > /dev/null 2>&1; rm -fr \""${MYTMP}\"" >"
したがって、このフォーマットの問題に対処するための適切な代替戦略は思いつきません。\
(たとえば、すべてをに置き換えます\\
。これは状況では機能しますが、セルのコンテンツの場合は"contentA\","contentB"
機能しません)\"
助言がありますか?また、リーダーが正しく読み取れないように、CSV ファイルで経験した不適切な書式設定の問題と解決策について話し合うことも歓迎します。