我正面临以下问题。
使用etl配置文件,我从Oracle
数据库表中加载一些数据,而不是将这些数据导出到CSV
文件。
但是,当字段包含双引号(“)时,此字符将重复。
我将用一个简单的例子来解释:
表NAMES中的字段描述包含以下内容:
这是我名字的“描述”
当我使用CSV驱动程序导出此表的内容时,我在CSV中看到以下数据:
这是我姓名的“”描述“
ETL conf:
< connection id =“out-names”driver =“csv”url =“names.csv”>
报价=
编码= UTF-8
修剪=真
null_string =
< /连接>
...
< query connection-id =“db”>
选择名称,名称说明;
< script connection-id =“out-names”>
$ 1; $ 2
< /脚本>
< /查询>
对此有何帮助?
提前致谢
答案 0 :(得分:1)
这是绝对正确的,2 x双引号表示CSV条款中的一个双引号,因此这是正确的...
123,"This is a string",456,13-Feb-2013,"This is ""Another"" String"
第二个字符串中有“转义”双引号。
答案 1 :(得分:0)
如果您想要输出未转义的内容,请尝试使用文本驱动程序:
<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>