我有一个包含 12 列的 .csv 文件,并使用 CSVReader 类读取文件。
List<String[]> rows = reader.readAll();
但我发现一些 String[] 的元素少于 12 个。当我调试时,我发现这是 CSV 文本格式问题。
有两个问题:
有些列以反斜杠结尾。
例如,
"Column A content\", "Column B content"
将被视为一列作为\"
转义字符。一些单元格的内容包含
\"
在其中。例如,在一行中,A 列的内容是一个命令行:
"d -R u+rwX \""${MYTMP}\"" > /dev/null 2>&1; rm -fr \""${MYTMP}\"" >"
所以我想不出一个好的替换策略来处理这个格式问题。(例如全部替换\
为\\
,这适用于"contentA\","contentB"
情况,但不适用于\"
当它是单元格的内容时)
有什么建议么?也欢迎讨论您在 CSV 文件中遇到的不良格式问题和解决方案,以便 Reader 无法正确读取。