• 文字サイズ変更
  • S
  • M
  • L

FAQのNo.から検索


  • No : 21333
  • 公開日時 : 2015/03/02 08:15
  • 更新日時 : 2020/09/15 15:11
  • 印刷
DSServistaDSCloud

【DataSpider】 CSVファイルアダプタ使用時、一つのダブルクォートが自動で二つのダブルクォートになります

CSVファイルアダプタで「"(ダブルクォート)」を含むデータを出力した場合に、一つのダブルクォートが自動で二つのダブルクォートになります。どうしてでしょうか?
カテゴリー : 

回答

ご質問の動作は、CSVアダプタの仕様となります。書き込むデータに「"」を含む場合は、「""」のように2つ続けて出力します。
(このように、ダブルクォーテーションに対して、ダブルクォーテーションを付与することをエスケープといいます)
 
上記はCSVの公式な仕様(RFC)に準拠した仕様となります。CSV の RFC に関しては「参考情報」をご参照ください。
 
対応方法
  • ダブルクォーテーションを除外して出力したい場合
例えば、「"aa」というデータを「aa」として出力したい場合、文字列ごとに置換ロジックなど、文字列を置換するロジックを使用して、ダブルクォーテーションを空文字に置換することで実現できます。
 
文字列を置換するロジックは複数ありますので、詳細に関しては、参考情報に記載したリンクよりご確認ください。
 
  • ダブルクォーテーションをそのまま出力したい場合
可変長アダプタをお持ちの場合、可変長ファイル書き込み処理で、ダブルクォーテーションをエスケープせずに出力することができます。
 
可変長ファイル書き込み処理につきましては、参考情報に記載したリンクをご参照ください。
 
 
参考資料
 
ダブルクォーテーションのエスケープについて
 
上記サイトの「2.  Definition of the CSV Format」に以下の記述があります。
 
7.  If double-quotes are used to enclose fields, then a double-quote
     appearing inside a field must be escaped by preceding it with
     another double quote.
 
文字列を置換するロジックについて
 
・文字列ごとに置換
・CSVファイルによる置換
・DBテーブルによる置換
 
可変長アダプタについて
 
・可変長ファイル書き込み 
・可変長書き込みウィザード
 
Version Information : 
Ver.3.2、Ver.4.0、Ver.4.1、Ver.4.2
目的別で検索 : 
トラブルシューティング

このFAQに関してのご意見をお聞かせ下さい。