1

我正在使用 pyodbc 访问访问(accdb)文件。我想以编程方式将 excel 工作簿添加到访问数据库中,但找不到执行此操作的 API。这是我当前的代码:

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?

4

1 回答 1

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
于 2010-11-08T22:32:53.110 回答