关于字段类型(Type):3为数字,202为文本,203为备忘。Windows 下有更简洁的函数 pypyodbc.win_connect_mdb,只需要填路径。
Python读取access文件时和读取Excel文件不是很一样,当然用的工具也不一样,在读取excel中的数据时用的是xlrd,而读取access文件时用的则是pypyodbc。 简要安装过程:1、首先要安装access驱动(AccessRuntime_x64_zh-cn.exe),以便于python连接;2、安装pypyodbc模块(pypyodbc-1.3.3.zip)。安装完之后就可以连接access数据库了。(连接access是在Windows下作的,个人感觉在Linux下读取不了access) 简要使用过程(程序):安装完成后,1、在python程序中导入pypyodbc模块,然后再连接access既可。因为access属于数据库,在读取access中的数据时,也要用到sql语句。 例子: #!/usr/bin/python # -*- coding: utf-8 -*- importsys import pypyodbc reload(sys) sys.setdefaultencoding('gbk') #####gbk也可以换成utf—8,如果出现编码问题,这两个都可以试试 conn = pypyodbc.connect(u'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=' + filepath) #### filepath是变量,access文件的绝对路径。注意:*.accdb一定要加上 cur.execute('select * from %s' % tablename) ### tablename是变量,指的是access中的表名 list = cur.fetchall() ####获取access中的数据
个人遇到了一个需要互操作 Access 与 sqlite 的项目,其中涉及了诸多 join 和 relation。最重要的是数据的互相流动,这个项目使用了 pypyodbc 与 sqlobject,不免涉及了批量操作的问题。我将详细记录 sqlite 中的批量操作问题。
本文通过一个小项目介绍Python3读写Access数据库(.mdb)的方法,该项目功能较简单,将mdb中的旧编码替换为新编码,新旧编码对照表放在1个excel(本文命名为新旧编码对照表.xlsx)中,功能实现主要分为三步:
领取专属 10元无门槛券
手把手带您无忧上云