各製品の資料を入手。
詳細はこちら →Python のDash ライブラリを使って、Access のデータ に連携するウェブアプリケーションを開発する方法
CData Python Connector を使って、Access にデータ連携するPython ウェブアプリケーションを開発できます。pandas とDash を使って作成してみます。
最終更新日:2023-09-23
この記事で実現できるAccess 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
Python エコシステムには、多くのモジュールがあり、システム構築を素早く効率的に行うことができます。CData Python Connector for Access を使うことで、pandas モジュールとDash フレームワークでAccess にデータ連携するアプリケーションを効率的に開発することができます。本記事では、pandas、Dash とCData Connector を使って、Access に連携して、Access のデータ をビジュアライズするシンプルなウェブアプリを作る方法をご紹介します。
CData Python Connectors の特徴
CData Python Connectors は、以下のような特徴を持った製品です。
- Access をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレデータソースに対応
- Dash をはじめとする多様なデータ分析・BI ツールにAccess のデータを連携
- ノーコードでの手軽な接続設定
必要なモジュールのインストール
まずは、pip で必要なモジュールおよびフレームワークをインストールします:
pip install pandas pip install dash pip install dash-daq
Python でAccess のデータを可視化
必要なモジュールとフレームワークがインストールされたら、ウェブアプリを開発していきます。コードのスニペットは以下の通りです。フルコードは記事の末尾に掲載しているので、参考にしてください。
まず、CData Connector を含むモジュールをインポートします:
import os import dash import dash_core_components as dcc import dash_html_components as html import pandas as pd import cdata.access as mod import plotly.graph_objs as go
接続文字列を使ってデータへの接続を確立します。connect 関数を使ってCData Access Connector からAccess のデータ との接続を確立します。
cnxn = mod.connect("DataSource=C:/MyDB.accdb;")
Access接続の設定方法
ローカルファイルへの接続設定
ローカル環境からAccess への接続は非常にシンプルです。ConnectionType をLocal に設定することで、CRUD 操作(SELECT、INSERT、UPDATE、DELETE)をすべて実行できます。接続にはDataSource プロパティに以下のようなAcces sデータベースファイルのフルパスを指定します。
C:\Users\Public\Documents\MyDatabase.accdb
詳細な接続手順については、ヘルプドキュメントの「はじめに」セクションをご参照ください。
クラウドストレージ上のAccess ファイルへの接続設定
各種クラウドストレージに保存されているAccess ファイルへのアクセスにも対応しています。ただし、クラウド上のファイルに対するデータ操作は、INSERT、UPDATE、DELETE に制限されますのでご注意ください。
S3、Google Driver、OneDrive など、各種クラウドストレージ内のAccess ファイルへの接続方法はこちらの記事をご確認ください。
クラウド上のファイルを更新したい場合は、以下の手順で実施いただけます。
- 対応するCData ドライバーを利用し、クラウドサービスからAccess ファイルをダウンロード
- Access ドライバーを使用して、ローカル環境でファイルを編集
- クラウドサービス用ドライバーのストアドプロシージャを使用して、更新ファイルをアップロード
具体例として、SharePoint 上のファイルを更新する場合の手順をご紹介します。
- CData SharePoint ドライバーのDownloadDocument プロシージャを使用してファイルを取得
- CData Access ドライバーでファイルの更新を実施
- SharePoint ドライバーのUploadDocument プロシージャで更新内容を反映
DataSource 接続プロパティの設定について補足いたします。接続先のクラウドストレージを識別するための一意の接頭辞を指定し、続けて目的のファイルパスまたはフォルダパスを記述します。フォルダを指定した場合は1ファイルが1テーブルとして、単一ファイルの場合は単一テーブルとして扱われます。
Access にクエリを実行
read_sql 関数を使って、padas からSQL 文を発行し、DataFrame に結果を格納します。
df = pd.read_sql("""SELECT OrderName, Freight FROM Orders WHERE ShipCity = 'New York'""", cnxn)
ウェブアプリケーションの設定
DataFrame に格納されたクエリ結果を使って、ウェブアプリにname、stylesheet、title を設定していきます。
app_name = 'dash-accessedataplot' external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css'] app = dash.Dash(__name__, external_stylesheets=external_stylesheets) app.title = 'CData + Dash'
Layout 設定
次に、Access のデータ をベースにした棒グラフを作詞し、アプリのレイアウトを設定します。
trace = go.Bar(x=df.OrderName, y=df.Freight, name='OrderName') app.layout = html.Div(children=[html.H1("CData Extention + Dash", style={'textAlign': 'center'}), dcc.Graph( id='example-graph', figure={ 'data': [trace], 'layout': go.Layout(alt='Access Orders Data', barmode='stack') }) ], className="container")
アプリをセットアップして実行
接続、アプリ、レイアウトを定義したら、アプリを実行してみましょう。以下のコードで実行できます。
if __name__ == '__main__': app.run_server(debug=True)
最後に、Python でウェブアプリを起動してブラウザでAccess のデータ を見てみましょう。
python access-dash.py

ちゃんとデータが表示できてますね!
おわりに
Access Python Connector の30日の無償トライアル をぜひダウンロードして、Access のデータ への接続をPython アプリやスクリプトから簡単に作成してみてください。