Excelのシートからsqlへ放り込むにはODBCのドライバを入れたり、vbaをコツコツと書かないといけないけどpythonだと簡単だよというお話。
↑C:\temp\Book1.xlsxにこんなシートが開いてるとして
pandas経由で放り込むとあら簡単。
めんどくさいcreateとかしなくてもto_sqlで一発でdbとtableの作成もやってくれる。
# -*- coding: utf-8 -*-
from xlwings import Workbook, Range
import pandas as pd
import pandas.io.sql as psql
import sqlite3
# 既に開いているExcelブックを読み込む
wb = Workbook(r'C:\temp\Book1.xlsx')
# A1から終端までのデータを取り込む
data = Range('A1').table.value
# pandasのデータフレームに変換する
df = pd.DataFrame(data[1:], columns=data[0])
with sqlite3.connect('fruit.db') as conn:
psql.to_sql(df, 'fruit', conn)
cur = conn.execute('select * from fruit')
print(cur.fetchall())
今回はダイナミックに編集しているExcelを読み込むためにxlwingsを使ったけど保存済みのファイルならpd.read_excelで読み込んでもOK。
多分これが一番楽だと思います(フラグ)