2010-11-08 29 views
0

我使用pyodbc訪問訪問(accdb)文件。我想以編程方式將Excel工作簿添加到訪問數據庫中,但找不到API來執行此操作。這裏是我當前的代碼:Python:將Excel文件添加到訪問數據庫

import pyodbc 
DBFile = r'C:\Documents and Settings\IA.accdb' 
conn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ='+DBFile) 

exFile = r'C:\Documents and Settings\IA_2006.xls' 
conn1 = pyodbc.connect('DRIVER={Microsoft Excel Driver \ 
         (*.xls)};DBQ='+exFile,autocommit=True) 

cursor = conn.cursor() 
####IA_1 is a table within IA.accdb 
cursor.execute('select * from IA_1') 
row = cursor.fetchone() 
####For debugging, print a line 
if row: 
     print row 

我應該如何從Excel文件(IA_2006.xls)到IA.accdb導入數據?

謝謝!

回答

3

看來你已經到了一定的地步,並放棄了。
不要放棄! :-)

您已連接到Excel電子表格,現在您需要閱讀它*。

curs1 = conn1.cursor() 
# the following returns list of tuples 
excel_results = curs1.execute('select [a_column] 
           from [Sheet1$]').fetchall() 

然後,你可以插入到你的MS Access數據庫,例如:

curs.executemany('insert into mytable (mycolumn) values (?)', excel_results) 
conn.commit() 

*如果有疑問,Excel工作表的名稱,可以通過運行以下發現:

for row in curs1.tables(): 
    print row.table_name