在Python中读取Microsoft Access数据库(.mdb格式)通常有以下几种方法:
1. 使用`pyodbc`模块:
import pyodbc
连接数据库
conn_str = (
r"DRIVER={Microsoft Access Driver (*.mdb)};"
r"DBQ=C:\path\to\your\database.mdb;"
)
conn = pyodbc.connect(conn_str)
读取数据
cursor = conn.cursor()
cursor.execute("SELECT * FROM your_table")
rows = cursor.fetchall()
for row in rows:
print(row)
插入数据
cursor.execute("INSERT INTO your_table (column1, column2) VALUES (?, ?)", ("value1", "value2"))
2. 使用`mdbtools`库:
import mdbtools
连接到MDB文件
db = mdbtools.open('C:\path\to\your\database.mdb')
读取数据
for table in db.tables():
print(f"Table: {table}")
for row in db.execute(f"SELECT * FROM {table}"):
print(row)
关闭连接
db.close()
3. 使用`pypyodbc`模块:
import pypyodbc
连接mdb文件
connStr = (
r"Driver={Microsoft Access Driver (*.mdb)};"
r"DBQ=C:\MDB_demo\demo.mdb;"
)
conn = pypyodbc.connect(connStr)
创建游标
cur = conn.cursor()
获取所有表名
cur.execute("SELECT name FROM MSysObjects")
tables = [row for row in cur]
读取指定表的数据
for table in tables:
cur.execute(f"SELECT * FROM {table}")
rows = cur.fetchall()
for row in rows:
print(row)
关闭连接
conn.close()
请确保已安装`pyodbc`或`pypyodbc`模块,以及相应的Microsoft Access驱动程序。如果需要,可以使用`pip`安装`pyodbc`:
pip install pyodbc