我試圖用pyodbc連接到MS Access資料庫(.mdb)。下面的連接字串可以正常作業:
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};'/span>
r'DBQ=abc123.orgTeamResourcesInputsAccounts.mdb;')
我需要遍歷幾個檔案,所以我想為檔案路徑傳入一個變數。變數將來自一個串列,但作為一個例子:
file_path1 = 'abc123.orgTeamResourcesInputsAccounts.mdb'/span>
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ={};').format(file_path1)。
我收到以下錯誤。 錯誤:('HY000', '[HY000] [Microsoft][ODBC Microsoft Access Driver] 不是一個有效的檔案名。(-1044) (SQLDriverConnect); [HY000] [Microsoft][ODBC Microsoft Access Driver] 不是一個有效的檔案名。(-1044)')
我在嘗試時收到了同樣的錯誤:
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=%s; ') % file_path1
希望得到任何幫助,如何在連接字串中把檔案路徑作為一個變數來傳遞,謝謝!
uj5u.com熱心網友回復:
我想我得到了它。
file_path1 = 'abc123.orgTeamResourcesInputsAccounts.mdb'/span>
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ={}; '.format(file_path1))
#^ format method is call on the string。
你能發現其中的差別嗎?
你所做的是在connect方法上呼叫 format。
你在第二次嘗試時也有同樣的問題
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=%s; % file_path1)
#^ 我已經移動了小括號
uj5u.com熱心網友回復:
感謝@Paulo - 我使用了你的回復和pathlib來解決這個問題:
import pathlib
file_path1 = pathlib.Path(r'abc123.orgTeamResourcesInputsAccounts.mdb')
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=%s;' % file_path1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/314198.html
標籤:
