Python: добавление файла Excel в базу данных доступа - PullRequest
0 голосов
/ 09 ноября 2010

Я использую 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?

1 Ответ

3 голосов
/ 09 ноября 2010

Кажется, что вы достигли определенной точки и сдались.
Не сдавайтесь!: -)

Вы установили соединение с электронной таблицей 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
...