第一步:安装依赖包
使用 Python 解析 Access 需要安装 pyodbc 包,安装方法为:
pip install pyodbc
第二步:连接 Access 数据库
使用 pyodbc 连接 Access 数据库,需要传入以下参数:
– Driver:ODBC 驱动名称,Access 应该选择 Microsoft Access Driver (.mdb, .accdb)。
– DBQ:Access 数据库文件路径。
– Uid 和 Pwd:Access 数据库的用户名和密码(如果有)。
以下是连接 Access 数据库的代码示例:
import pyodbc
conn_str = (
r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};"
r"DBQ=path/to/access/database/file;"
)
cnxn = pyodbc.connect(conn_str)
cursor = cnxn.cursor()
第三步:执行 SQL 语句
使用 cursor 对象执行 SQL 语句。例如,查询表中的所有数据并打印出来,可以使用以下代码:
cursor.execute("SELECT * FROM table_name")
rows = cursor.fetchall()
for row in rows:
print(row)
注意,在 Access 中,如果列名包含空格或者其他特殊字符,需要使用方括号将列名括起来。例如:
cursor.execute("SELECT [column name with spaces], [another column] FROM table_name")
第四步:插入数据
可以使用 cursor 对象的 execute 方法执行插入操作,例如,插入一条新数据到表中:
cursor.execute("INSERT INTO table_name (column1, column2) VALUES (?, ?)", (value1, value2))
cnxn.commit()
其中,问号 ? 表示占位符,可以使用元组作为第二个参数传入值。
第五步:关闭数据库连接
最后需要关闭数据库连接,以释放资源。
cursor.close()
cnxn.close()
完整的 Python 解析 Access 数据库示例代码:
import pyodbc
conn_str = (
r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};"
r"DBQ=path/to/access/database/file;"
)
cnxn = pyodbc.connect(conn_str)
cursor = cnxn.cursor()
# 查询数据
cursor.execute("SELECT * FROM table_name")
rows = cursor.fetchall()
for row in rows:
print(row)
# 插入数据
cursor.execute("INSERT INTO table_name (column1, column2) VALUES (?, ?)", (value1, value2))
cnxn.commit()
# 关闭连接
cursor.close()
cnxn.close()
另外一个示例是在 Access 数据库中创建新表。可以使用 CREATE TABLE 语句来创建新表。例如,创建一个包含 id 和 name 两列的新表:
import pyodbc
conn_str = (
r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};"
r"DBQ=path/to/access/database/file;"
)
cnxn = pyodbc.connect(conn_str)
cursor = cnxn.cursor()
# 创建新表
cursor.execute("""
CREATE TABLE new_table
(
id INT PRIMARY KEY,
name VARCHAR(255)
)
""")
# 关闭连接
cursor.close()
cnxn.close()
注意,如果创建的表名或者列名包含空格或其他特殊字符,需要使用方括号或者反引号进行转义。