0

次の問題に直面しています。

etl 構成ファイルを使用Oracleして、これらのデータをファイルにエクスポートするよりも、DB テーブルからいくつかのデータをロードしCSVます。ただし、フィールドに二重引用符 (") が含まれている場合、この文字は重複します。

簡単な例で説明します。

テーブル NAMES のフィールド DESCRIPTION には、次の内容が含まれています。
これは、私の名前の「説明」です。

CSV ドライバーを使用してこのテーブルの内容をエクスポートすると、CSV に次のデータが表示されます。
これは私の名前の「説明」です。

ETL 設定:

<connection id="out-names" driver="csv" url="names.csv">
quote=
encoding=UTF-8
trim=true
null_string=
</connection>
...

<query connection-id="db" >
名前から名前、説明を選択します。
<script connection-id="out-names">
$1;$2
</script>
</query>

これについて何か助けはありますか?

前もって感謝します

4

2 に答える 2

1

これは絶対に正しいです.2つの二重引用符はCSV用語で1つの二重引用符を意味するため、これは正しいです...

123,"This is a string",456,13-Feb-2013,"This is ""Another"" String"

2 番目の文字列には、二重引用符が「エスケープ」されています。

于 2013-02-13T15:06:43.653 に答える
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>
于 2013-02-13T16:09:02.220 に答える