Help us understand the problem. What is going on with this article?

SAS ViyaでHTMLのテーブルをデータソースにする

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ファイルなども利用できます。多彩なソースを取り込んで分析できますので、ぜひトライアルをお試しください。

SAS for Developers | SAS

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした