2017-05-03 27 views
0

我目前正在嘗試使用pyodbc從Microsoft Access中讀取到python的列。其中一列有+號。我將如何去選擇這一列,然後從列中打印一行。目前我的代碼看起來像這樣:使用pyodbc導入列名與非字母數字字符?

crsr.execute("select CompoundKey, Q1Mass, Q3Mass, +veDP, CE from Conditions") 
for row in crsr: 
    print("Q1 Mass: %.3f" % row.Q1Mass) 

所以我想能夠導入+ veDP然後打印該列的行。

回答

0

有訪問SQL處理的對象名稱空間和「滑稽人物」的最常用的方法是用方括號,例如,

crsr.execute("select CompoundKey, Q1Mass, Q3Mass, [+veDP] AS posDP, CE from Conditions") 

編輯:

注意,訪問允許我們指定一個「標題」對於一個給定場...

DesignView.png

...當我們看看數據表視圖看來該場被命名爲[+ VEDP]表...

DatasheetView.png

......而事實上,字段名實際上是[posDP ]。

+0

我試過並得到這個錯誤信息: crsr.execute(「select [+ veDP] as posDP from Conditions」) pyodbc.Error :('07002','[07002] [Microsoft] [ODBC Microsoft Access驅動程序]參數太少,期望爲1.(-3010)(SQLExecDirectW)') – jj2593

+0

'print([x.column_name for x in crsr.columns(「Conditions」)])''。你在列表中看到「+ veDP」嗎?如果不是,那麼它實際上不是列名。 (可能是列的標題。) –

+0

謝謝!這有幫助! – jj2593

相關問題