03
2016
03

python将mdb数据库内容导出到excel

有一大堆access数据库文件(后缀名.mdb):

每个文件中有两个表:

结构相同,内容不同,为了查看对比方便,想要把数据库中的数据提取出来,放到一个excel文件中。

使用python实现。代码如下:

import win32com.client

def getrsdata(conn,tablename):
	print('table:',tablename)
	rs = win32com.client.Dispatch(r'ADODB.Recordset') 
	rs.Open('[' + tablename + ']', conn, 1, 3)

	rs.MoveFirst()   
	count = 0

	s=''
	while 1:   
		if rs.EOF:   
			break   
		else:   
			count = count + 1 
			if count==1:
				for x in range(rs.Fields.Count):
					s+=str(rs.Fields.Item(x).Name)+'\t'
				s+='\n'
			for x in range(rs.Fields.Count):
				s+=str(rs.Fields.Item(x).Value)+'\t'
			rs.MoveNext()
			s+='\n'
	rs.Close()
	print(tablename,count)
	return s
def getmdbdata(mdbname):
	print('mdb:',mdbname)
	conn = win32com.client.Dispatch(r'ADODB.Connection')   
	DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE='+mdbname+';'   
	conn.Open(DSN)
	s=''
	s+=mdbname+'\n'
	s+='Res'+'\n'
	s+=getrsdata(conn,'Res')
	s+='\n'
	s+='Rule'+'\n'
	s+=getrsdata(conn,'Rule')
	s+='\n'

	conn.Close()
	return s

s=''
for i in range(25):
	print('i:',i)
	s+=getmdbdata('Case'+str(i)+'.mdb')
	s+='\n\n'

#save
f = open("out.txt",'w')
f.write(s)
f.close()
print('complete')
input()

参考:http://www.xuyukun.com/python-use-access%E6%95%B0%E6%8D%AE%E5%BA%93/

http://www.zeuux.com/group/python/bbs/content/40733/



« 上一篇下一篇 »

相关文章:

Python模块常用的几种安装方式  (2017-3-10 9:33:7)

Nodejs使用access数据库  (2016-5-12 12:31:6)

python读写excel  (2016-4-8 11:48:8)

python获取某个目录下特定后缀名的文件的文件名及大小  (2016-3-3 10:16:33)

as3读取excel  (2015-8-4 9:21:39)

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。