了解!では pyodbc
を使って Access データベース(.accdb
または .mdb
)にアクセスする手順を、ステップバイステップで解説します。
目次
🔧 1. pyodbc
のインストール
まず、ターミナル(またはコマンドプロンプト)で以下を実行して pyodbc
をインストールします:
pip install pyodbc
📦 2. Access ODBCドライバの確認(Windows)
Microsoft Access Driver (*.mdb, *.accdb)
がインストールされている必要があります。
ドライバ確認コマンド:
import pyodbc print(pyodbc.drivers())
出力例に以下のようなものが含まれていればOKです:
['Microsoft Access Driver (*.mdb, *.accdb)', ...]
🧪 3. サンプルコード(.accdbに接続してテーブルを読み込む)
import pyodbc # Access データベースファイルのパス db_file = r"C:\path\to\your\database.accdb" # 接続文字列 conn_str = ( r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};' rf'DBQ={db_file};' ) # 接続 conn = pyodbc.connect(conn_str) cursor = conn.cursor() # テーブル名を取得 table_names = [row.table_name for row in cursor.tables(tableType='TABLE')] print("テーブル一覧:", table_names) # 例:最初のテーブルの中身を取得 if table_names: cursor.execute(f"SELECT * FROM {table_names[0]}") for row in cursor.fetchall(): print(row) # 後処理 cursor.close() conn.close()
📝 注意点
- パスのバックスラッシュ(
\\
)はr"..."
で raw 文字列にすると楽です。 - テーブル名にスペースがある場合は、
[Table Name]
というように[]
で囲ってください。
必要があれば、以下の操作もすぐ対応できます:
- データの書き込み(INSERT/UPDATE)
- SQL実行時のエラー処理
- pandasでDataFrameとして読み込む
- テーブルの構造(カラム情報)を取得する
なにかやりたいことがあれば教えてね!