使用jackson-dataformat-csv从csv解析双引号

prettyvoid:

我有一个包含以下内容的csv

EANHotelID|SequenceNumber|Name|Address1|Address2|City|StateProvince|PostalCode|Country|Latitude|Longitude|AirportCode|PropertyCategory|PropertyCurrency|StarRating|Confidence|SupplierType|Location|ChainCodeID|RegionID|HighRate|LowRate|CheckInTime|CheckOutTime
541454|99999999|Hotel Maan Residency|"B" Wing, Gopal Palace, opp. ocean park|Naherunagar-Satellite Road|Ahmedabad||380 015|IN|23.02266|72.53842|AMD|1|INR|3.0||ESR|Near Kankaria Lake|||0|0|10:00 AM|10:00 AM

现在,我尝试使用以下代码将csv中的每一行作为一个对象读取

    CsvMapper mapper = new CsvMapper();
    mapper.findAndRegisterModules();

    File csvFile = new File("D:\\ActivePropertyList.txt.bak2");

    CsvSchema schema = CsvSchema.emptySchema().withHeader().withColumnSeparator('|').withNullValue("");
    MappingIterator<Map<String,String>> it = mapper.readerFor(Map.class).with(schema)
                .readValues(csvFile);

    while (it.hasNextValue()) {
        Map<String,String> value = it.nextValue();
    }

但这是由于"B"csv中存在的原因而失败我收到以下错误:

由以下原因引起:com.fasterxml.jackson.core.JsonParseException:意外字符(“ W”(代码87)):预期的分隔符(““”(代码34))或行尾位于[来源:(com.fasterxml .jackson.dataformat.csv.impl.UTF8Reader);第2行,第43列]

如何正确解析csv中的双引号?我尝试玩耍,schema.withEscapeChar() schema.withQuoteChar()但无法正常工作。

prettyvoid:

withoutQuoteChar()在模式上使用以处理csv内容中的双引号,即

CsvSchema.emptySchema().withHeader().withColumnSeparator('|').withNullValue("").withoutQuoteChar();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

LocalDate使用Jackson-DataFormat-CSV错误序列化CSV

jackson-dataformat-csv:无法序列化LocalDate

jackson-dataformat-csv不会忽略未知属性

jackson-dataformat-csv-可以使用自定义列名吗?

使用打开的csv时从csv中删除双引号

使用带有杰克逊DATAFORMAT-CSV日期字段时InvalidFormatException失败

在 Pandas 中使用 read_csv 时忽略双引号 (")

如何使用csv模块处理字段值内的双引号?

使用CSV包含反斜杠或双引号的Postgres数组语法

熊猫:使用read_csv时如何包含双引号?

使用awk在.CSV逗号分隔文件中添加双引号

使用双引号正确读取熊猫中的 CSV 文件

如何使用Python删除csv文件中的双引号(“)?

尝试解析以(,)分隔并使用引号的CSV文件

用杰克逊DATAFORMAT-CSV获取CSV的头

使用jackson-dataformat-xml自定义根元素的XML反序列化?

使用蓝图 XML DSL 的 Camel DataFormat Jackson 抛出上下文异常

使用jackson-dataformat-xml库将XML中的空标签转换为java属性

如何在Java中使用Jackson的dataformat.xml序列化LookAndFeel对象?

使用 jackson-dataformat-xml 庫將屬性設置為空的 xml 標籤

使用apache commons csv读取csv文件时跳过双引号

xml序列化JAXB与Jackson-dataformat-xml吗?

使用 C# 使用 OleDb 解析 CSV - 错误列包含带双引号的值,这些值未加载到数据表中

杰克逊 - DATAFORMAT-CSV:无POJO映射数值

忽略使用Jackson CSV解析CSV文件的特定列

Json 对象不使用双引号解析

在Java中使用Apache Commons编写CSV时包括双引号

强制csv-write-stream始终使用双引号(nodejs和electronicjs)

从列表中删除双引号和括号并使用 Pandas 写入 csv 文件