CSV からデータを読み込む
前回の記事では、Automation Anywhere A2019 を使って Excel ファイルから
データを読み込む方法を取り上げました。
CSV ファイルを扱う場合にも、Bot の構成はほぼ同様になります。
今回の記事では、CSV ファイルを読み込む方法を確認します。
※本記事は、Automation Anywhere A2019 ビルドバージョン 4111 時点での情報です。
□目次
1. CSV ファイルを読み込むためのパッケージ
Automation Anywhere A2019 には、CSV ファイル(*.csv)の読み込みに使えるパッケージとして、
次の 2 種類が用意されています。
- CSV/TXT
CSV ファイルや TSV ファイル(*.tsv)、テキストファイル(*.txt)を操作するためのアクションが
用意されています。
参考:Automation Anywhere 社製品ドキュメント「CSV/TXT package」 - Excel の高度な操作
パッケージに用意されているアクションのうち、ファイルを開く、閉じる、セルの値を取得する、
といった一部のアクションを、CSV ファイルにも使用することができます。
参考:
Automation Anywhere 社製品ドキュメント「Excel advanced package」
Automation Anywhere 社製品ドキュメント「CSV operations」
各製品ドキュメントページにおいて最新の正確な情報を確認するには、言語表記を英語にしてください。
2. ファイル読み込み操作の基本
今回の記事でも、データソースファイルを開いて、1 行ずつ読み込んでいくという操作を自動化します。
前回に倣い、CSV ファイルのデータを 1 行ずつ読み込んで順にメッセージボックスに表示する場合、
Bot は次のような構成になります。
構成は前回と全く同じで、「Excel」が「CSV」に替わったのみです。
CSV/TXT
実際に Bot を作成する際の要領も、Excel を扱う場合と同様です。
上記の Bot を、[CSV/TXT]パッケージを使用して作成すると、次のようになります。
※Bot 作成の基本的な手順については、以前の記事を確認してください。
1. CSV ファイルを開く
[CSV/TXT]パッケージ > [開く]アクションを使用し、対象の CSV ファイルを開きます。
2-4. ファイルにおいて、1 行ずつ次の操作を繰り返す
[ループ]パッケージ > [ループ]アクションを使用し、CSV シートの表を 1 行ずつ参照します。
参考:Automation Anywhere 社製品ドキュメント「Loop package」
3. 対象列の値を読み込み、メッセージボックスに表示する
参照している行の対象列(セル)の値を読み込み、
[メッセージ ボックス]パッケージ > [メッセージ ボックス]アクションを使用して表示します。
参考:Automation Anywhere 社製品ドキュメント「Message box package」
5. CSV ファイルを閉じる
[CSV/TXT]パッケージ > [閉じる]アクションを使用し、CSV ファイルを閉じます。
各アクションの設定において、注意すべきポイントは次の通りです。
Excel の高度な操作
[Excel の高度な操作]パッケージを使用する場合には、前回の記事と同様に Bot を構成し、
[Excel の高度な操作]パッケージ >[開く]アクションの対象を CSV ファイルに変更するのみです。
[CSV/TXT]パッケージ >[開く]アクションで開いたセッションと、[Excel の高度な操作]パッケージ >[開く]アクションで開いたセッションは、同名であってもそれぞれ別のセッションとして扱われます。
[CSV/TXT]パッケージで開いたセッションは[CSV/TXT]でのみ、[Excel の高度な操作]パッケージで開いたセッションは[Excel の高度な操作]でのみ使用できます。
3. テーブル型変数を使った読み込み
Excel ファイルの時と同様、CSV ファイルを読み込む場合にも、
ファイルを直接読み込んでいくのではなく、表データを一旦テーブル型変数に格納しておく
方法を使えます。
2 行目と 3 行目が、先の構成から変わっている箇所です。
CSV/TXT
上記の Bot を、[CSV/TXT]パッケージを使用して作成すると、
先の Bot とは下記の部分が変わってきます。
2. テーブル型変数へ、CSV シートの表データを格納する
[CSV/TXT]パッケージ > [既読]アクションを使用し、テーブル型変数へデータを格納しておきます。
3-5. テーブル型変数において、1 行ずつ次の操作を繰り返す
[ループ]パッケージ > [ループ]アクションを使用し、テーブル型変数を 1 行ずつ参照します。
Excel の高度な操作
この読み込み方法においても、[Excel の高度な操作]パッケージを使用する場合には、
前回の記事と同様に Bot を構成し、[Excel の高度な操作]パッケージ >[開く]アクションの対象を
CSV ファイルに変更するのみです。
4. Tips ~パッケージ・読み込み方法の使い分け
ファイル読み込み方法とパッケージの使い分けの考え方も、Excel ファイルとよく似ています。
ただし、[CSV/TXT]パッケージに用意されているアクションはファイル読み込みに限られている
ことから、使い分けの基準は恐らく更に明快です。
※Automation Anywhere 社による公式な情報ではなく、社内調査に基づく参考情報です。
処理の対象
- [CSV/TXT]vs.[Excel の高度な操作]
どちらも、ファイルを操作するためのパッケージです。
ただし、[CSV/TXT]パッケージには、読み込み用のアクションしかありません。
[Excel の高度な操作]パッケージでは、セルの書き込み/削除など多くのアクションを使用できます。 - ファイルから読み込み vs. テーブル型変数から読み込み
ファイルからの場合はファイル、テーブル型変数からの場合はテーブルデータの各行を操作します。
従って、各行でセルへの移動/書き込みも行いたい、といった場合はファイルから読み込みます。
一方、テーブル型変数にデータを格納した場合は、[データ テーブル]パッケージを使用して、
読み取ったテーブルの結合や重複行の削除といったデータ処理を行えます。
処理の速度
- [CSV/TXT]vs.[Excel の高度な操作]
どちらのパッケージにも共通で用意されている操作であれば、[CSV/TXT]がはるかに速いようです。[Excel の高度な操作]では GUI 上にファイルを開いて、[CSV/TXT]ではバックグラウンドプロセスで、処理が行われます。 - ファイルから読み込み vs. テーブル型変数から読み込み
CSV ファイルの扱いにおいて、ほとんど差が無いようです。
使い分け
上記から、恐らく概ね下記のような使い分けになるでしょう。
- 単純なデータの読み込みをしたい場合(本記事のような操作)
パッケージ:[CSV/TXT]パッケージ
読み込み方法:どちらでも良いが、テーブルデータの処理をしたければテーブル型変数から読み込み - 書き込み等のファイル操作も含めたい場合
パッケージ:[Excel の高度な操作]パッケージ
読み込み方法:ファイルから読み込み
5. おわりに
本記事では、Automation Anywhere A2019 において CSV ファイルからデータを読み込む
方法を取り上げました。
Excel と CSV は、最も手軽に使われるデータソースであり、どちらか一方の読み込み方が分かれば、
もう片方の習得はそれほど難しくありません。
残るもう一つのデータソースであるデータベースの扱い方については、次の機会に取り上げます。
他のおすすめ記事はこちら
著者紹介
SB C&S株式会社
C&S Engineer Voice運営事務局
最新の技術情報をお届けします!