如何避免CSVFormat中逗号前的反斜杠

问题描述

我正在使用 Java 中的 CSVFormat 创建一个 CSV 文件,我在标题和值中面临的问题是每当字符串很长并且有一个逗号时,api 总是在逗号之前插入一个 \。因此,标题未正确形成,csv 文件中的值正在为 .csv 文件取下一个单元格。我正在发布我所做的代码

   try (CSVPrinter csvPrinter = new CSVPrinter(out,CSVFormat.DEFAULT.withHeader("\""+SampleEnum.MY_NAME.getHeader()+"\"","\""+SampleEnum.MY_TITLE.getHeader()+"\"","\""+SampleEnum.MY_ID.getHeader()+"\"","\""+SampleEnum.MY_NUMBER.getHeader()+"\"","\""+SampleEnum.MY_EXTERNAL_KEY.getHeader()+"\"","\""+SampleEnum.DATE.getHeader()+"\"","\""+SampleEnum.MY_ACTION.getHeader()+"\"","\"\"\""+SampleEnum.MY__DEFI.getHeader()+"\"\"\"",SampleEnum.MY_ACTION.getHeader(),SampleEnum.CCHK.getHeader(),SampleEnum.DISTANCE_FROM_LOCATION.getHeader(),SampleEnum.TCOE.getHeader(),SampleEnum.HGTR.getHeader(),SampleEnum._BLANK.getHeader(),SampleEnum.LOCATION_MAP.getHeader(),SampleEnum.SUBMISSION_ID.getHeader())                      
                    .withDelimiter(',').withEscape('\\').withQuote('"').withTrim().withQuoteMode(QuoteMode.MINIMAL)
    )) {
        sampleModel.forEach(sf -> {
            try {
                csvPrinter.printRecord(sf.getMyName(),sf.getMyTitle(),sf.getMyID(),sf.getMyNo(),

所以现在的问题是我得到这样的输出

"\"Name:\"","\"Title\"","\"ID #:\"","\"Store #:\"","\"Store #: External Key\"","\"Date:\"","\"\"\"It's performance  issue in detail to include dates,times,circumstances,etc.\"\"\""

我在每个逗号之前得到 \,当它出现在值中时,文本的下一部分将移到下一个单元格。

我需要的输出是

"Name:","Title:","Employee ID #:","Store #:","Store #: CurrierKey","Date:","Stage of Disciplinary Action:","""Describe your view about the company,etc.""",

我正在努力 https://commons.apache.org/proper/commons-csv/jacoco/org.apache.commons.csv/CSVFormat.java.html 这个链接,但我无法理解修复。请帮忙。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)