Python 解析Access对象

  • Post category:Python

第一步:安装依赖包
使用 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()

注意,如果创建的表名或者列名包含空格或其他特殊字符,需要使用方括号或者反引号进行转义。