SAS ViyaはAIプラットフォームです。データソースは様々なものが指定できますが、今回はHTMLのテーブルをターゲットにする方法を紹介します。
ライブラリの読み込み
ライブラリを読み込みます。トライアル環境の場合はSAS Viyaのトライアル環境で html5lib を追加する - Qiitaを最初に行ってください。
from swat.cas import datamsghandlers as dmh
HTMLを指定する
次にHTMLを指定します。トライアル環境の場合はURL指定ができませんので、HTMLファイルをアップロードした上で指定してください。今回はFDIC: Failed Bank Listを使っています。
htmldmh = dmh.HTML('./FDIC_ FailedBankList.html')
データ型などは自動的に判別されます。
htmldmh.args.addtable
{'datamsghandler': <swat.cas.datamsghandlers.HTML at 0x7fd8edfc3b70>,
'reclen': 104,
'vars': [{'length': 16,
'name': 'Bank Name',
'offset': 0,
'rtype': 'CHAR',
'type': 'VARCHAR'},
{'length': 16,
'name': 'City',
'offset': 16,
'rtype': 'CHAR',
'type': 'VARCHAR'},
:
}
Viya用のテーブルにする
まずSAS Viyaのオブジェクトを作ります。
from swat import *
cashost='localhost'
casport=5570
useremail='dev@viya.com'
userpassword='password'
casauth='~/.authinfo'
conn = CAS(cashost, casport, useremail, userpassword, caslib="casuser")
そしてテーブルを取り込みます。
out = conn.addtable(table='banklist', caslib='casuser', **htmldmh.args.addtable)
テーブルの構造を確認する
テーブル構造を確認します。
out.casTable.columninfo(table=dict(name='banklist', caslib='casuser'))
Column | ID | Type | RawLength | FormattedLength | NFL | NFD |
---|---|---|---|---|---|---|
0 | Bank Name | 1 | varchar | 90 | 90 | 0 |
1 | City | 2 | varchar | 18 | 18 | 0 |
2 | ST | 3 | varchar | 2 | 2 | 0 |
3 | CERT | 4 | int64 | 8 | 12 | 0 |
4 | Acquiring Institution | 5 | varchar | 65 | 65 | 0 |
5 | Closing Date | 6 | varchar | 18 | 18 | 0 |
6 | Updated Date | 7 | varchar | 18 | 18 | 0 |
このように文字型、数字型を自動的に判別されていれば大丈夫です。
まとめ
他にもデータソースはExcelやCSVファイルなども利用できます。多彩なソースを取り込んで分析できますので、ぜひトライアルをお試しください。