用Python读取Access数据库

   使用PYTHON语言进行数据库编程的方法很多,见老巫-wfh_178的文章Python实现数据库编程本文文们将使用ADO(ActiveX Data Object)来实现读取Access数据库(MDB)文件!

   首先在IDE中(本文为PYTHONWIN),引用 Microsoft ActiveX Data Objects Library,点击Tools(工具)------>COM Makepy utility

   如图:   

       

即可出现 Select Library

   

在这里选择Microsoft ActiveX Data Objects  Library ,便可以由makepy生成一个.py文件.

我们就可以新建一个Python script文件,代码

 import win32com.client          
   conn=win32com.client.Dispatch('ADODB.Connection')
   DSN='PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=c:/db.mdb;'
 conn.Open(DSN)
   rs=win32com.client.Dispatch('ADODB.Recordset')
   rs_name='co'
   rs.Open('1',conn,1,3) #1和3是常数.代表adOpenKeyset 和adLockOptimistadLockOptimistic
flds={}
   rs.MoveFirst()
   count=0
while not rs.EOF:
       for x in range(rs.Fields.Count):
           flds[x] = rs.Fields.Item(x).Value
      print "-------------------------"    
      print "|   %s|   %s|   %s|   %s|" % (flds[0],flds[1],flds[2],flds[3])
       count=count+1
       rs.MoveNext()
   print "Record Count:%d" % (count,)
   #conn.Close()

  使用import 语句导入win32com.client模块,以便我们使用ADO

  经过上面的设置之后,就可以直接连接数据库了

  定义一个字典( Dictionary  ),它是Python的内置数据类型之一,它在关键字与值之间定义了一对一的关系。这一点就象Perl中的关联数组,Java中的 Map ,或VBScipt中的 Scripting.Dictionary 对象。这里定义一个空的字典,用于存放数据库中的]字段的值。

  遍历整个数据集,打印出数据信息

   print "|   %s|   %s|   %s|   %s|" % (flds[0],flds[1],flds[2],flds[3])
是一条将结果格式化并打印出来。Python支持将值的格式化输出到字符串中,象C语言中的 sprintf 函数。最基本的用法是简单地在 %s 占位符的地方插入一个值。

保存,运行

结果为:

阅读更多
个人分类: Python学习
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

用Python读取Access数据库

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭