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 に答える