溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Python中通過pypyodbc訪問Access數(shù)據(jù)庫

發(fā)布時間:2021-05-20 16:25:03 來源:億速云 閱讀:523 作者:Leah 欄目:開發(fā)技術(shù)

怎么在Python中通過pypyodbc訪問Access數(shù)據(jù)庫?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

①安裝pypyodbc

目前Python安裝通常使用steup.py或者pip工具,在python3.4之后的的版本都默認包含了pip,因此,這里推薦使用pip工具。在cmd中執(zhí)行:pip install pypyodbc,耐心等待執(zhí)行完成,pypyodbc模塊就已經(jīng)安裝成功了。如果提示安裝超時或者失敗可以重新再執(zhí)行一次。執(zhí)行成功后,查看C:\Python36\Lib\site-packages中就會發(fā)現(xiàn)多了pypyodbc的目錄。這時候就可以使用pypyodbc模塊了。

②創(chuàng)建數(shù)據(jù)源

先利用Access創(chuàng)建一個數(shù)據(jù)庫,我是在D盤中創(chuàng)建了一個名稱為addresses.mdb的數(shù)據(jù)庫文件。然后在“控制面板”中找到“管理工具”,打開其中的“數(shù)據(jù)源(ODBC)”,選擇“添加”,并選擇“Microsoft Access Driver(*.mdb,*.accdb)”,點擊完成。然后輸入數(shù)據(jù)源名“addresses”,并點擊“選擇”找到在D盤創(chuàng)建的數(shù)據(jù)庫。這樣就將數(shù)據(jù)源創(chuàng)建完成。

怎么在Python中通過pypyodbc訪問Access數(shù)據(jù)庫

怎么在Python中通過pypyodbc訪問Access數(shù)據(jù)庫

怎么在Python中通過pypyodbc訪問Access數(shù)據(jù)庫

怎么在Python中通過pypyodbc訪問Access數(shù)據(jù)庫

③代碼部分

import pypyodbc
str = 'Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=D:\\addresses.mdb'
db=pypyodbc.win_connect_mdb(str)     # 打開數(shù)據(jù)庫連接
curser = db.cursor()         # 產(chǎn)生cursor游標(biāo)
curser.execute("select * from address order by id desc")
for col in curser.description:       # 顯示行描述
 print (col[0], col[1])
result = curser.fetchall()
for row in result:          # 輸出各字段的值
 print (row)
 print (row[1], row[2])
 timeTuple = time.localtime(row[3])
 print (time.strftime('%Y/%m/%d', timeTuple))

注意事項:

①如果過程中出現(xiàn)下圖的情況,注意檢查創(chuàng)建數(shù)據(jù)源過程中的驅(qū)動與代碼中的Microsoft Access Driver (*.mdb,*.accdb)是否一致。

怎么在Python中通過pypyodbc訪問Access數(shù)據(jù)庫

②注意這里使用的是pypyodbc.win_connect_mdb,如果使用pypyodbc.connect同樣會出現(xiàn):

怎么在Python中通過pypyodbc訪問Access數(shù)據(jù)庫

③如果出現(xiàn)下圖的情況,可能是文件已加密,只需要在DBQ前面加上:PWD=YourPWD(文件的密碼)

怎么在Python中通過pypyodbc訪問Access數(shù)據(jù)庫

Python的優(yōu)點有哪些

1、簡單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向?qū)ο螅軌蛑С置嫦蜻^程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。

看完上述內(nèi)容,你們掌握怎么在Python中通過pypyodbc訪問Access數(shù)據(jù)庫的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI