Python:将 Excel 文件添加到 Access 数据库

1 投票
1 回答
8531 浏览
提问于 2025-04-16 06:45

我正在使用pyodbc来访问一个Access(accdb)文件。我想要通过程序把一个Excel工作簿添加到Access数据库里,但找不到相关的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里呢?

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

撰写回答