我正在從一組訪問數據庫中取數值並將其上傳到單個MS SQL Server數據庫。pyodbc數值被標記爲'None'而不是NULL或空的問題
我使用的是32位Python 3.3和各自的pyodbc軟件包。
我想知道是否有一種方法可以捕獲數據字段在 Access數據庫中爲空的事實,而不需要驅動程序返回字符串'None'而不是*。使用的語法如下:
access_con = pyodbc.connect(connection_string)
access_cur = access_con.cursor()
access_SQL = 'SELECT * FROM ' + source_table
rows = access_cur.execute(access_SQL).fetchall()
for row in rows:
[Statement uploading each row to SQL Server using an INSERT INTO statement]
任何幫助,將不勝感激;無論是作爲解決方案還是作爲更直接的數據傳輸方式。
*編輯:'無'只是一個字符串,因爲我把它變成了一個,將它添加到INSERT INTO語句中。使用row.replace('None','NULL')替換了所有'None'實例,並將其替換爲由ODBC驅動程序解釋爲NULL值的'NULL'。
我看到了這個,但我認爲這只是與字符串字段有關: http://code.google.com/p/pyodbc/issues/detail?id=316 – AER
你必須使用Python嗎? Access中的VBA可能很簡單。 – HansUp
@HansUp我同意Python不是最好的工具,因此我提高了你的評論。這是一次,我知道Python。任何與MS Office有關的事情在VBA中都會更好,我承認。 – AER