又一访问access
生活随笔
收集整理的這篇文章主要介紹了
又一访问access
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
遇到一個(gè)task, 要把.mbd格式的數(shù)據(jù)庫(kù)導(dǎo)出。可惜我的機(jī)器沒(méi)有比較熟悉的VC. 想down vs6也沒(méi)有合適的, .net又太大. 突然想到前些日子裝了python, 卻一直沒(méi)用過(guò),python的粉絲到處散布"用我python, 無(wú)所不能"的傳言, 何不拿它來(lái)試試看? 首先,baidu一下"python 訪問(wèn)access" 結(jié)果還不少. 經(jīng)過(guò)嘗試,覺(jué)得下面的方法最簡(jiǎn)單.
#-*- coding: utf-8 -*-
import sys
import os
import win32com.client
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=d:\\db1.mdb;'?
conn.Open(DSN)?
rs = win32com.client.Dispatch(r'ADODB.Recordset')
rs_name = 'table1'?
rs.Open('[' + rs_name + ']', conn, 1,2) #此函數(shù)中參數(shù)1,2 是什么值怎么設(shè),我還不知道,還在試。 a=0
while a < rs.RecordCount :
if a % 5000 == 0 :
dir_no = a / 5000
dirpath = "d:\\tmp%d" % (dir_no)
os.mkdir(dirpath)
fname = "%s\\rec%d" % (dirpath, a)
title = rs.Fields.Item(1).Value
str1 = "<html><head><title>%s</title></head><body>\n" % (title)
output=open(fname, 'wb')
output.write(str1.encode('utf-8'))
output.close() if a % 1000 == 0 :
print "%d\n" % a
#print "%d %d\t%s" % (a,num,title)
rs.MoveNext();
a = a+1
conn.Close(); 需要注意的問(wèn)題是: 輸出中文到文件一定要用.encode('utf-8')把它轉(zhuǎn)化成utf-8, 因?yàn)?
系統(tǒng)缺省的編碼是ascii, 遇到漢字會(huì)出錯(cuò). .encode('gbk')對(duì)于某些字符也會(huì)出錯(cuò).
轉(zhuǎn)載于:https://my.oschina.net/u/201886/blog/64686
總結(jié)
以上是生活随笔為你收集整理的又一访问access的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: CentOS 修改IP地址, DNS,
- 下一篇: jquery对Select的操作