如何从 python 访问 .mdb 文件?

Posted

技术标签:

【中文标题】如何从 python 访问 .mdb 文件?【英文标题】:How do I access a .mdb file from python? 【发布时间】:2011-03-23 08:16:11 【问题描述】:

我有我从网上下载的 msacess 2000 .mdb 格式的数据库,现在我想从我的 Python 脚本程序访问该数据库。 我可以从我的程序中调用表吗? 如果有人请建议我该怎么做,将不胜感激

【问题讨论】:

***.com/questions/2559659/… 会帮助你。 【参考方案1】:

对于路过的人,另一种选择是使用 mdbtools - 它可以将 MDB 数据库导出为可重复使用的格式,例如 CSV - 检查:http://mazamascience.com/WorkingWithData/?p=168

如果您不需要更新 mdb 文件,只需要导入旧数据,则执行类似于上面链接中的配方的操作比让 pyodbc 正常工作更容易,并且不需要访问 Windows 机器

【讨论】:

【参考方案2】:

如果您在 Windows 上工作,那么您可以使用 ODBC 并使用 odbc 模块(ActiveState Python 默认有它,这是 win32 扩展的一部分),或 pyodbc 模块。看看答案:How to connect pyodbc to an Access (.mdb) Database file

如果您使用 Jython,您可以使用 JDBC-ODBC 桥:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
db = DriverManager.getConnection('jdbc:odbc:Driver=Microsoft Access Driver (*.mdb);DBQ=c:\\Nwind.mdb', usr, passwd)

【讨论】:

【参考方案3】:

使用此 MDB 创建一个 ODBC DSN。 Python 可以访问 ODBC 数据源。

【讨论】:

以上是关于如何从 python 访问 .mdb 文件?的主要内容,如果未能解决你的问题,请参考以下文章

需要帮助从 delphi 将新联系人插入访问 mdb

访问错误 3443:无法识别的数据库格式“databasename.mdb”

从 MS Access 访问 .mdb 文件中的后端表

如何对 MDB 文件运行 SQL 查询?

在 Python 中将 .mdb 文件转换为 .csv 时包括列名

如何使用 python 64 位读取 .mdb 文件?