为啥我在 Scriptella 中输出 CSV 文件时出现双引号?
Posted
技术标签:
【中文标题】为啥我在 Scriptella 中输出 CSV 文件时出现双引号?【英文标题】: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=连接> ... 从名称中选择名称、描述;
有什么帮助吗?
提前致谢
【问题讨论】:
【参考方案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>
【讨论】:
以上是关于为啥我在 Scriptella 中输出 CSV 文件时出现双引号?的主要内容,如果未能解决你的问题,请参考以下文章
java jdk安装成功了,但是为啥我在cmd命令模式中javac 类名.java中总是找不到文
为啥 jq --raw-output 参数无法从 @csv 输出中删除引号?