私は特定のスクリプトに苦しんだ、私は問題をグーグルで試してみたが、私は立ち往生になった...パイソン、Excel、およびSQLlite3
SQL式。私はこれをReddits r/pythonにも投稿しました。そこにある答えはここに投稿してください。
現在のスクリプトはここにある:現時点ではhttps://gist.github.com/adamrees89/b73a60bc01170601ced7adc7a8e971f7
、スクリプトは、サンプルファイルをエクセル読み込み、各シート上のすべてのセルの値と書式設定を読み込み、値を記録し、SQLlite3ファイルに書式。
現在のところ、スクリプトはすべての値と書式設定を読み込み、問題なく各シートのSQL内にテーブルを作成します(SQLiteではDBブラウザでこれを確認しています)が、テーブル内にデータ行はありません。
私は私の「templateCell()」関数に問題があると思う:
def templateCell(s,sn,c,r):
#__init__ will gather the cell format data
cellRef = c + r
val = s[cellRef].value
fname = s[cellRef].font.name
fsize = s[cellRef].font.size
fbold = int(s[cellRef].font.bold == 'true')
fital = int(s[cellRef].font.italic == 'true')
ccolour = s[cellRef].fill.start_color.index
print("Cell Reference is: {},".format(cellRef))
c.execute("INSERT INTO {tn} VALUES ({a},{b},{c},{d},{e},{f})".format(tn=sn,a=cellRef,b=val,c=fname,d=fbold,e=fital,f=ccolour))
以上、ためにデータベースに行を作成することになっているライン11、上特にc.execute機能各セル。変数は次のとおりです。
s = sheet
sn = sheetname (function of sheet)
c = column
r = row
編集1:testExcel.xlsx