【问题标题】:Why I get double double-quote on output CSV file in Scriptella?为什么我在 Scriptella 中输出 CSV 文件时出现双引号?
【发布时间】:2013-02-13 11:34:17
【问题描述】:
我正面临以下问题。
使用 etl 配置文件,我从Oracle DB 表加载一些数据,然后将这些数据导出到CSV 文件。
但是,当字段包含双引号 (") 时,此字符是重复的。
我会用一个简单的例子来解释:
NAMES 表中的字段 DESCRIPTION 包含以下内容:
这是我名字的“描述”
当我使用 CSV 驱动程序导出此表的内容时,我在 CSV 中看到以下数据:
这是我名字的“描述”
ETL 配置:
报价=
编码=UTF-8
修剪=真
null_string=
连接>
...
从名称中选择名称、描述;
有什么帮助吗?
提前致谢
【问题讨论】:
标签:
java
oracle
csv
double-quotes
scriptella
【解决方案1】:
这绝对正确,2 x 双引号表示 CSV 术语中的一个双引号,因此这是正确的...
123,"This is a string",456,13-Feb-2013,"This is ""Another"" String"
第二个字符串的位置有“转义”双引号。
【解决方案2】:
如果您想输出未转义的内容,请尝试使用文本驱动程序:
<connection id="out-names" driver="text" url="names.csv">
</connection>
...
<query connection-id="db">
SELECT NAME,DESCRIPTION FROM NAMES;
<script connection-id="out-names">
$1;$2
</script>
</query>