Python的MS Access库
有没有什么库可以在Python中使用MS Access数据库?win32模块没有MySQL库那么简单。有没有更简单的方法可以用Python来操作MS Access?
4 个回答
13
我觉得win32并不难。你可以试着使用它的odbc模块。下面是一个使用ODBC和PostgreSQL数据库的代码示例:
import odbc
def get_pg_ver(db_alias):
connection = odbc.odbc(db_alias)
try:
cursor = connection.cursor()
cursor.execute('SELECT version()')
for row in cursor.fetchall():
print row[0]
finally:
connection.close()
get_pg_ver('odbc_name/user/passwd')
这对我在Python和Jython中使用的每个数据库驱动都很相似(我主要使用PostgreSQL、Oracle和Informix)。
43
根据你想做的事情,pyodbc 可能正是你需要的工具。
import pyodbc
def mdb_connect(db_file, user='admin', password = '', old_driver=False):
driver_ver = '*.mdb'
if not old_driver:
driver_ver += ', *.accdb'
odbc_conn_str = ('DRIVER={Microsoft Access Driver (%s)}'
';DBQ=%s;UID=%s;PWD=%s' %
(driver_ver, db_file, user, password))
return pyodbc.connect(odbc_conn_str)
conn = mdb_connect(r'''C:\x.mdb''') # only absolute paths!
注意:如果你没有安装 MSOffice,可以下载这个可以自由分发的新驱动程序。