2010-11-08 61 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