java - OpenCSV 引用空值
问题描述
使用 OpenCSV 库,调用StatefulBeanToCsv.write()
我的空值被包含在引号中。
例子:
String[] columns = new String[] {
"Col1",
"Col2",
"Col3"
};
ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy();
strat.setColumnMapping(columns);
Writer writer = new FileWriter(outputFilePath);
StatefulBeanToCsv beanToCsv = new StatefulBeanToCsvBuilder(writer)
.withMappingStrategy(strat)
.build();
beanToCsv.write(items);
writer.close();
将产生:
1,"",3
当我期望:
"1",,"3"
我没有通过 为所有字段设置引号.withApplyQuotesToAll(true)
。
如果我确实使用.withApplyQuotesToAll(true)
,我最终会得到
"1","","3"
在某一时刻,图书馆似乎与此相反:
如何将值写入为空白/空值而不是空字符串?
解决方案
看起来您提到的未调用的方法实际上需要一个布尔值。您是否尝试过以下操作?
.withApplyQuotesToAll(false)
推荐阅读
- opencv - 【CVAT】如何在一个任务中创建多个职位?
- firebase - 统一的 Firebase 身份验证错误处理
- python - Bot错误地处理消息
- java - 显示片段时只有 Switch.setChecked 不起作用?
- python - 如何使用 PyQT5 制作应用程序桌面工具栏 UI
- html - Why are succesive SVG's sized after the first one?
- symfony - 替换 Symfony 5 默认路由器
- html - 如何在不访问某些页面 html 代码的情况下让我的锚标记工作?
- database - 如何在 MySQL 数据库中为两个字段 relation_id 和 date_only (yyyy-mm-dd) 设置唯一性
- microsoft-graph-api - 无法使用 Microsoft Graph 和 Teams 创建 VoIP 呼叫