使用Python读取Microsoft Access数据库需要什么?

36 投票
12 回答
80488 浏览
提问于 2025-04-15 11:32

我该如何在Python中访问Microsoft Access数据库?用SQL来操作?

我更希望能在Linux上使用这个方法,不过Windows也可以接受。

我只需要读取数据的权限。

12 个回答

13

你提到了一些不错的解决方案。还有一个可能更接近底层的选择是 MDB Tools。

MDB Tools 是一套开源的库和工具,帮助你从 MS Access 数据库(mdb 文件)中导出数据,而不需要使用微软的 DLL 文件。这样的话,非 Windows 系统也能读取这些数据。换句话说,他们是在对 MDB 文件的结构进行逆向工程。

另外,我觉得他们可能还没有开始处理 ACCDB 文件,而且对这个功能的需求也可能不大。

31

在Linux系统上,目前唯一可以使用的工具是MDBTools。[有争议]

在Windows系统上,你可以用pypyodbc来处理mdb文件。

如果你想创建一个Access的mdb文件,可以参考下面的代码:

import pypyodbc
pypyodbc.win_create_mdb( "D:\\Your_MDB_file_path.mdb" )

这里有一个Hello World的示例脚本,可以完整展示pypyodbc对Access的支持功能。

免责声明:我是pypyodbc的开发者。

24

我用过 PYODBC 成功连接到一个 MS Access 数据库——不过是在 Windows 系统上。安装很简单,使用起来也比较容易,只需要设置正确的连接字符串(关于 MS Access 的连接字符串在列表中有提供),然后就可以按照示例开始使用了。

撰写回答