了解!では 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として読み込む
- テーブルの構造(カラム情報)を取得する
なにかやりたいことがあれば教えてね!