【Blue Prism】CSV出力とコレクション
Blue Prismには、CSV⇔コレクションの変換方法に似たような機能があったりして混乱するのでまとめ。
CSVファイル ⇒ コレクション
CSVファイルのデータをコレクションに格納する方法
Utility - File Management > Get CSV Text As Collection
非常に似ているアクション名に、
Utility - Strings > Get CSV As Collection
があるが、これはCSVテキストをコレクションに格納する場合に使用する(後述)
Utility - File Management > Get CSV Text As Collection
CSVファイルを直接コレクションに格納する。
CSV File Path | CSVファイルのフルパス |
---|---|
First Row Is Header | 1行目をコレクションのフィールドとして設定するかどうか |
指定したCSVファイルデータを直接コレクションに格納することが出来る。その際、取り込んだフィールドの型はBlue Prismが自動で型を推測して設定する。そのため、思っていた型にならないこともある(大抵、Text型になっていれば問題ないが、Number型としてフィールドが設定されてしまうと文字が取り込めなくなる)
また、取り込むCSVデータがカンマ区切りになってない場合、値が分割されず1つのフィールドにまとまって格納されてしまう。
メリット
・CSVファイルを直接コレクションに取り込めるため楽
デメリット
・自動型推測が思った結果にならないことがある
・CSVデータがカンマ区切りになっている必要がある
・文字コードにより文字化けすることがある(Blue Prismでマルチバイトを扱う際はShift-JISでやり取りされるため、外部環境がUTF-8だと文字化けになる)
自動型推測がNumber型になりText型が取り込めない例
カンマ区切りになっていない例
日本語が文字化けする例
CSVテキスト ⇒ コレクション
Utility - Strings > Get CSV As Collection
CSV形式のText型をコレクションに格納する。
CSV | CSVテキストデータ。カンマ区切りで区切られている必要がある。 |
---|---|
First Row Is Header | 1行目をコレクションのフィールドとして設定するかどうか |
Schema | Filed名を記述したコレクションを指定することで、出力結果のフィールド名を自由に変更できる。実際のデータのフィールド数より少ない場合エラーとなるため、早期のエラー検知として機能する |
Text型を指定するため、Utility - File Management > Read All Text from Fileを使い、CSVファイルをBlue PrismにText型として一度取り込む必要がある。
メリット
・カンマ区切りになってない、余計な空白や文字が入っている、といったCSVファイルをBlue Prismで編集した上でコレクション化できる
・Schema引数でフィールド名も指定できる
・Text型として取り込む際に文字コードを指定できるオブジェクトを使えば文字化けを回避できる
デメリット
・CSVファイルから取り込む際は、CSVファイル ⇒ Text ⇒ コレクション、のようにひと手間かかる
Utility - Strings > Get CSV Text As Collection の方を使う時
1.File Management > Get CSV As Collectionの自動型推測が思った結果にならない時
2.カンマ区切りでなかったり、最初に空白行などは入っているCSVデータの時
3.文字コードが適切でなく文字化けが起きる時
コレクション⇒ CSVファイル
Blue Prismには、コレクションをそのままCSVファイルに保存する機能はない。
そのため、コレクション ⇒ Textデータ ⇒ CSVファイル
1.Utility - Strings > Get Collection as CSV
2.Utility - File Management > Write Text File
という手順が必要。
手順1.Utility - Strings > Get Collection as CSV
コレクションをCSV形式(カンマ区切り)のText型に変換
手順2.Utility - File Management > Write Text File