對(duì)Python通過pypyodbc訪問Access數(shù)據(jù)庫的方法詳解
看書上通過ODBC訪問數(shù)據(jù)庫的案例,想實(shí)踐一下在Python 3.6.1中實(shí)現(xiàn)access2003數(shù)據(jù)庫的鏈接,但是在導(dǎo)入odbc模塊的時(shí)候出現(xiàn)了問題,后來查了一些資料就嘗試著使用pypyodbc,最后成功了。
操作步驟:
①安裝pypyodbc
目前Python安裝通常使用steup.py或者pip工具,在python3.4之后的的版本都默認(rèn)包含了pip,因此,這里推薦使用pip工具。在cmd中執(zhí)行:pip install pypyodbc,耐心等待執(zhí)行完成,pypyodbc模塊就已經(jīng)安裝成功了。如果提示安裝超時(shí)或者失敗可以重新再執(zhí)行一次。執(zhí)行成功后,查看C:\Python36\Lib\site-packages中就會(huì)發(fā)現(xiàn)多了pypyodbc的目錄。這時(shí)候就可以使用pypyodbc模塊了。
②創(chuàng)建數(shù)據(jù)源
先利用Access創(chuàng)建一個(gè)數(shù)據(jù)庫,我是在D盤中創(chuàng)建了一個(gè)名稱為addresses.mdb的數(shù)據(jù)庫文件。然后在“控制面板”中找到“管理工具”,打開其中的“數(shù)據(jù)源(ODBC)”,選擇“添加”,并選擇“Microsoft Access Driver(*.mdb,*.accdb)”,點(diǎn)擊完成。然后輸入數(shù)據(jù)源名“addresses”,并點(diǎn)擊“選擇”找到在D盤創(chuàng)建的數(shù)據(jù)庫。這樣就將數(shù)據(jù)源創(chuàng)建完成。
③代碼部分
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àng):
①如果過程中出現(xiàn)下圖的情況,注意檢查創(chuàng)建數(shù)據(jù)源過程中的驅(qū)動(dòng)與代碼中的Microsoft Access Driver (*.mdb,*.accdb)是否一致。
②注意這里使用的是pypyodbc.win_connect_mdb,如果使用pypyodbc.connect同樣會(huì)出現(xiàn):
③如果出現(xiàn)下圖的情況,可能是文件已加密,只需要在DBQ前面加上:PWD=YourPWD(文件的密碼)
以上這篇對(duì)Python通過pypyodbc訪問Access數(shù)據(jù)庫的方法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python 中使用 PyMySQL模塊操作數(shù)據(jù)庫的方法
這篇文章主要介紹了Python 中使用 PyMySQL模塊操作數(shù)據(jù)庫的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11Python使用lxml模塊和Requests模塊抓取HTML頁面的教程
用Pyhton自帶的urllib或urllib2模塊抓取網(wǎng)頁或許有些陳詞濫調(diào)了,今天我們就來玩兒些新鮮的,來看Python使用lxml模塊和Requests模塊抓取HTML頁面的教程:2016-05-05VSCode2022配置Python3.9.6的詳細(xì)教程
這篇文章主要介紹了VSCode2022配置Python3.9.6教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09Python執(zhí)行時(shí)間的幾種計(jì)算方法
這篇文章主要介紹了Python執(zhí)行時(shí)間的幾種計(jì)算方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Python Pandas兩個(gè)表格內(nèi)容模糊匹配的實(shí)現(xiàn)
模糊查詢大家應(yīng)該都不會(huì)陌生,下面這篇文章主要給大家介紹了關(guān)于Python Pandas兩個(gè)表格內(nèi)容模糊匹配的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-11-11flask+pymysql實(shí)現(xiàn)Web端操作數(shù)據(jù)庫的項(xiàng)目實(shí)踐
本文主要介紹了flask+pymysql實(shí)現(xiàn)Web端操作數(shù)據(jù)庫的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06python掃描proxy并獲取可用代理ip的實(shí)例
下面小編就為大家?guī)硪黄猵ython掃描proxy并獲取可用代理ip的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08詳解Python中的數(shù)據(jù)清洗工具flashtext
FlashText是GitHub上的一個(gè)開源Python庫,正如之前所提到的,它在提取關(guān)鍵字和替換關(guān)鍵字任務(wù)上有著極高的性能。本文將詳解一下flashtext的使用,需要的可以參考一下2022-06-06