为啥我在 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 输出中删除引号?

python - 在Python中使用Dictwriter输出时,为啥CSV文件在每个数据行之间包含一个空白行[重复]

xml JEXL与Scriptella循环

xml Scriptella Java Logging测试

为啥我在回归摘要中丢失了分类数据?