0
我正在將DBF文件中的數據從UNC推送到sql服務器數據庫。大約有50個DBF文件,所有這些文件都有不同的模式。現在我知道我可以創建一個程序並列出所有50個表格和全部50個DBF文件,但這將持續下去。有沒有辦法以某種方式派生DBF字段名稱來執行插入操作,而不是通過每個DBF並輸入DBF中的每個字段名稱?這裏是我現在的代碼,它將兩個字段的記錄插入到一個DBF文件中。使用將多個DBF文件中的所有數據插入到多個表中
import pyodbc
from dbfread import DBF
# SQL Server Connection Test
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=**********;DATABASE=TEST_DBFIMPORT;UID=test;PWD=test')
cursor = cnxn.cursor()
dir = 'E\\Backups\\'
table = DBF('E:\\Backups\\test.dbf', lowernames=True)
for record in table.records:
rec1 = record['field1']
rec2 = record['field2']
cursor.execute ("insert into tblTest (column1,column2) values(?,?)", rec1, rec2)
cnxn.commit()
這可能更多的是一個通用的python問題,我有很少的Python經驗,但在循環期間,我會做插入到每個表中。我假設沒有辦法解決每個表的插入語句,這很好,但是如何動態地將記錄列表中的值分配給插入語句中的值? – HMan06
@ HMan06:你是隻插入每個表中的某些字段還是每個表中的每個字段? –
我正在考慮做每張桌子上的每個字段,因爲我覺得這很容易。無論哪種方式都可以工作,我將在數據插入數據庫後清理數據。 – HMan06