tsuji
(ryo tsuji)
1
UipathのWriteCSVアクティビティについて確認したいことがございます。
現在DBをUipathのexectqueryアクティビティでSELECTを行い、
上記で取得したDatatableをWriteCSVアクティビティでCSVファイルに出力しています。
CSVファイルに出力したときに、ブランクが入力されているデータはダブルクオーテーションで囲まれ、それ以外のデータはダブルクオーテーションで囲まれていません。
(区切り文字は一律カンマであるため特に問題なし)
WriteCSVですべてのデータをダブルクオーテーションでかこむ設定や
またはすべてのデータをダブルクオーテーションで囲まないというような出力はできますか?
(生成したデータテーブルの中身を置換して編集処理をすることはデータが編集されてしまう可能性があるため最終手段と考えております。)
宜しくお願いいたします。
Yoichi
(Yoichi)
2
こんにちは
ダブルクォートを外す対象がスペースだけでしたら、OutputDataTableアクティビティで一旦文字列にしたあとで、WriteTextFileアクティビティでテキストファイル(拡張子は.csvで)として書き出してみてください。
まずは動作を確認いただければと思います。
1 Like
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
3
http://www.kasai.fm/wiki/rfc4180jp
このページによると、「5. (レコード中の) 各フィールドは、それぞれダブルクォーテーションで囲んでも囲わなくてもよい」とありますが、「 6. 改行( CRLF
)、ダブルクォーテーション、カンマを含むフィールドは、ダブルクォーテーションで囲むべきである。」という一文もあります。
プログラマ的な見方では、改行( CRLF
)、ダブルクォーテーション、カンマを含むかどうか判断してダブルクォーテーションで括るのなら、高速化を求め、数値型以外はダブルクォーテーションで括ってしまえ!と思ってしまいますね。
ですので、WriteCSVアクティビティも、ダブルクォーテーションで括る、括らないモードは制御しにくいでしょうね。
例えば、そのような制御できるアクティビティを独自に作成し、変にデータを編集してしまわない事を担保し、プロジェクト内で展開してみるってのはダメですか?
tsuji
(ryo tsuji)
4
ヘッダーを自分で消す処理をしてしまえば、やりたいことができることを確認しました。
ご回答ありがとうございます。
2 Likes
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
5
是非@ Yoichiさんの返信の解決策にチェックをお願いしますね。
1 Like
tsuji
(ryo tsuji)
6
ご回答と解決策チェックのご連携ありがとうございます。
時間があれば上記のアクティビティの作成もやってみたいのですが、今はあまり時間がなく。。。
区切り文字の指定ができるなら、囲み文字の指定も出来ないものかと考えていましたが、
事情がありそうですね。
1 Like
system
(system)
Closed
7
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.