【Python】Pandas を使って MySQLのデータを読み込む
おはようございます。
少し久しぶりの Python です。
今回はデータ分析ライブラリの「Pandas」を使って、前回までに取得できるようになった Bitflyer の Ticker 情報をMySQLから取り出してみたいと思います。
プログラムは前回のものを流用します。
【Python】bitflyer の Ticker を MySQL に突っ込む
スポンサーリンク
目次
パッケージ追加
Pandas のパッケージをインストールします。
上部メニューの「File」>「Default Settings」を選択します。
Default Setting画面が表示されるので、右上の対象プロジェクト環境を今回作成した環境に変更し、右側にある「+」ボタンをクリックします。
パッケージ検索画面で、「pandas」と検索します。
一覧に表示された「pandas」を選択して「Install Package」ボタンをクリックします。
画面の修正
画面からトリガーするためのボタンを追加します。
Main.html
ティッカー情報パネルヘッダーに「取得」ボタンを追加。
<div class="entry_title"> <div class="pull_left">ティッカー情報</div> <div class="pull_right"> <input type="button" value="取得" /> <input type="button" value="更新" /> <input type="button" value="更新開始" /> <input type="button" value="更新停止" /> </div> </div>
プログラムの修正
インポート宣言の追加
BfTool.py
from Utils.MySQLUtil import MySQLUtil
MySQLUtil.py
import pandas
データ取得処理の追加
BfTool.py
class GetTicker(RequestHandler): """ ティッカー情報の更新を停止 """ def initialize(self): logging.info("GetTicker [initialize]") def post(self): logging.info("GetTicker [post]") mysql = MySQLUtil(); df = mysql.convert_table_to_df() print(df.head()) self.write(df.to_json(orient="records"))
MySQLUTil.py
def convert_table_to_df(self): """ データ(テーブル)をデータフレームに変換してかえします :return: """ with closing(mysql.connector.connect(**self.config)) as conn: sql = """ SELECT * FROM {table_name} """.format(table_name="TBL_TICKER") df = pandas.read_sql(sql=sql, con=conn) return df
URLマッピングの追加
BfTool.py
app = tornado.web.Application([ (r"/", MainHandler), (r"/ws", SendWebSocket), (r"/balance", GetBalanceHandler), (r"/execution", GetExecutionHandler), (r"/childOrder", GetChildOrderHandler), (r"/sendOrder", SendChildOrderHandler), (r"/cancelOrder", CancelChildOrderHandler), (r"/sendTicker", SendTicker), (r"/startTicker", StartTicker), (r"/stopTicker", StopTicker), (r"/sendLine", SendLine), (r"/getTicker", GetTicker) ], template_path=os.path.join(os.getcwd(), "templates"), static_path=os.path.join(os.getcwd(), "static"), js_path=os.path.join(os.getcwd(), "js"), )
画面処理の追加
script.js
/** * ティッカー情報をデータフレームで取得 */ function getTicker() { $.ajax({ url: "http://localhost:8080/getTicker", type: "POST", success: function(response) { console.log(response) }, error: function() { } }); }
起動してみる
起動して追加した「取得」ボタンをクリックします。
PyCharmのコンソールにデータが出力されました。
まとめ
ひとまずはここまで。
次回は、チャートが描画できればいいなと思っています。
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません