如何在使用csvformat生成csv时在字符串头中添加双引号和三引号

thigvfpy  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(662)

我试图使用csvformat生成一个csv文件,我的要求是在一些头中添加双引号,在一些头中添加三引号。我可以在所需的标题中添加双引号,但无法使用csvformat在所述标题中添加三引号。
下面是一个例子

"Employee Name","Job Title","Store:","""Stage of Art""",Action Required ,,External Key..etc

在上面的员工姓名示例中,职位名称用双引号表示,而艺术舞台用三引号表示。我可以在标题字段中添加双引号,下面是我编写的代码

try(CSVPrinter csvPrinter = new CSVPrinter(out,   CSVFormat.DEFAULT.withAllowDuplicateHeaderNames("\""+EmplyeeEnum.EMP_NAME.getHeader()+"\"","\""+EmplyeeEnum.JOB_TITLE.getHeader()+"\"","\""+EmplyeeEnum.STAGE_OF_ART.getHeader()+"\"",EmplyeeEnum.ACTION_REQUIRED.getHeader(),EmplyeeEnum.EXTERNAL_KEY.getHeader()).withEscape('\\').withQuoteMode(Quote.NONE)

上面的代码将生成如下输出

"Employee Name","Job Title","Store:","Stage of Art",Action Required ,,External Key..etc

有谁能建议我如何解决这个问题吗

c9qzyr3d

c9qzyr3d1#

这会给你预期的结果。

new CSVPrinter(w, CSVFormat.DEFAULT
                .withHeader("\"Employee Name\"","\"Job Title\"","\"Store:\"","\"\"\"Stage of Art\"\"\"","Action Required","","External Key").withEscape('\\').withQuoteMode(QuoteMode.NONE))

相关问题