如何从Python访问.mdb文件?

2 投票
3 回答
6650 浏览
提问于 2025-04-16 14:15

我有一个数据库,格式是msaccess 2000的 .mdb文件,这个文件是我从网上下载的。现在我想通过我的程序,也就是一个Python脚本,来访问这个数据库。
我可以在我的程序里调用这些表格吗?如果有人能告诉我该怎么做,我会非常感激。

3 个回答

0

用这个MDB文件创建一个ODBC数据源名称(DSN)。Python可以访问ODBC数据源。

2

如果你在使用Windows系统,那么你可以用ODBC来连接数据库。你可以使用odbc模块(ActiveState Python默认就有这个模块,它是win32扩展的一部分),或者使用pyodbc模块。你可以看看这个问题的答案:如何用pyodbc连接Access (.mdb)数据库文件

如果你使用的是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)
4

对于路过的人,另一个选择是使用 mdbtools - 这个工具可以把MDB数据库导出成可以重复使用的格式,比如CSV。你可以查看这个链接了解更多信息:http://mazamascience.com/WorkingWithData/?p=168

如果你只是想导入旧数据,而不需要更新mdb文件,那么按照上面链接中的方法做会比让pyodbc正常工作简单得多,而且不需要访问Windows电脑。

撰写回答