当前位置: 首页 > 知识库问答 >
问题:

JavaCommons-csv不解析标头

梁丘洲
2023-03-14

我有一个包含以下内容的EXCEL CSV文件:

access_id;logicalgate
123456789;TEST

如您所见,标头有字符串,没有引用。

使用此代码

fileReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
csvParser = new CSVParser(fileReader, CSVFormat.EXCEL.withNullString("").withFirstRecordAsHeader().withIgnoreHeaderCase().withQuoteMode(QuoteMode.MINIMAL).withIgnoreEmptyLines().withTrim());

此命令的输出:

csvParser.getHeaderMap()
    

是单元素图!

(java.util.TreeMap<K,V>) {access_id;logicalgate=0}

使用级联键“access_id;logicalgate”

为什么解析器缺少标头分离?

共有1个答案

鲁洋
2023-03-14

CsvFormat。EXCEL用定界符定义,而不是用定界符定义 ,您应该添加。带分隔符(“;”)

公共静态最终CSVFormat EXCEL

Excel文件格式(使用逗号作为值分隔符)。请注意,Excel使用的实际值分隔符取决于区域设置,可能需要自定义此格式以适应您的区域设置。

例如,在法国系统上解析或生成CSV文件时,将使用以下格式:

CSVFormat fmt=CSVFormat. EXCEL. with(';');

CSVFormat. Builder设置是:

setDelimiter(',')
setQuote('"')
setRecordSeparator("\r\n")
setIgnoreEmptyLines(false)
setAllowMissingColumnNames(true)
setAllowDuplicateHeaderNames(true)

--https://commons.apache.org/proper/commons-csv/apidocs/org/apache/commons/csv/CSVFormat.html#EXCEL

 类似资料:
  • 如果希望将逗号分隔值(CSV)文本的文件解析为xml结构,或者有一个具有非常相似的行/字段结构的平面文件,希望将其转换为XML格式。 这里将使用函数将输入文件分成不同的行。 然后将使用函数将每一行解析为单独的字段。 请注意,将删除前导和尾随空格。 基本例子 输出结果 - 第1行中的数据字典示例 第二个示例将使用CSV文件的第一行作为每行每列的元素名称的数据字典。 输出结果如下 -

  • 问题内容: 我有一个Java服务器应用程序,可以下载CSV文件并进行解析。解析可能需要5到45分钟,并且每小时都要进行一次。此方法是应用程序的瓶颈,因此不是过早的优化。到目前为止的代码: 是否有现有的库可以帮助我加快速度?我可以改善现有代码吗? 问题答案: 您看过Apache Commons CSV吗? 使用注意事项 请记住,仅返回数据视图,这意味着原始对象不符合垃圾回收的条件,同时引用了任何视图

  • 问题内容: 我正在解析CSV文件,但是最后一行的最后9列为空,只有一行,并且用逗号分隔的字符串会忽略其余的空列。 这是演示此代码的代码: 列的大小为20,应为29。任何想法? 问题答案: 查看有关以下内容的文档: 该方法的工作方式就像通过调用带有给定表达式且限制参数为零的二参数拆分方法。因此,结尾的空字符串不包括在结果数组中。 因此,您需要查看其他方法的选项 limit参数控制应用图案的次数,因此

  • 此测试失败:预期: 我的代码有问题吗这是一个bug吗?

  • 问题内容: 我是Python的新手。我想解析一个csv文件,以便它可以识别带引号的值-例如 1997年,福特E350,“超级豪华卡车” 应该拆分为 (“ 1997”,“福特”,“ E350”,“超级豪华卡车”) 并不是 (“ 1997”,“福特”,“ E350”,“超级”,“豪华卡车””) 以上就是我使用类似的东西所得到的。 我该怎么做呢?同样最好将这些值存储在数组或其他数据结构中吗?因为在我从c

  • 本文向大家介绍标准CSV格式的介绍和分析以及解析算法实例详解,包括了标准CSV格式的介绍和分析以及解析算法实例详解的使用技巧和注意事项,需要的朋友参考一下      CSV是一种古老的数据传输格式,它的全称是Comma-Separated Values(逗号分隔值)。出生在那个标准缺失的蛮荒年代,CSV的标准一直(到2005年)是NULL——世间存在着N种CSV格式,它们自成体系,相互不兼容。比如