2017-02-18 3 views
0

これはおそらく、私が行方不明になっている基本的なものです。データベース列を作成するためのリスト内のリストのインデックス付けエラーsqlite3 python

(STORE_KEY VARCHAR(4), 
UMV VARCHAR(4), 
EAN VARCHAR(13), 
TRANSACTION_KEY VARCHAR(28), 
TRX_DATE VARCHAR(10), 
PRODUCT_KEY VARCHAR(18), 
SPEND_AMOUNT REAL, 
FC REAL, 
TRX_TIME VARCHAR(8), 
CARD_KEY VARCHAR(12), 
UMB VARCHAR(4), 
QUANTITY REAL) 

vars= [['TRANSACTION_KEY', 'VARCHAR(28)'], ['CARD_KEY', 'VARCHAR(12)'], ['STORE_KEY', 'VARCHAR(4)'], ['PRODUCT_KEY', 'VARCHAR(18)'], ['TRX_DATE', 'VARCHAR(10)'], ['UMB', 'VARCHAR(4)'], ['TRX_TIME', 'VARCHAR(8)'], ['QUANTITY', 'REAL'], ['SPEND_AMOUNT', 'REAL'], ['EAN', 'VARCHAR(13)'], ['UMV', 'VARCHAR(4)'], ['FC', 'REAL']] <type 'list'> 

私は、文字列のタプルにこれらを変換するにはsqlite3のCREATE TABLE文で連結できるようにする: 私は基本的に私のsqlite3のデータベース列であることを意味しているリストのリストを持っています

これは私が

columns = "(" + ",\n".join("{} {}".format(i[0],i[1]) for i in vars) + ")" 

を使用していたコードですが、私は正確に同じ出力得続ける:

database columns: [['TRANSACTION_KEY', 'VARCHAR(28)'], ['CARD_KEY', 'VARCHAR(12)'], ['STORE_KEY', 'VARCHAR(4)'], ['PRODUCT_KEY', 'VARCHAR(18)'], ['TRX_DATE', 'VARCHAR(10)'], ['UMB', 'VARCHAR(4)'], ['TRX_TIME', 'VARCHAR(8)'], ['QUANTITY', 'REAL'], ['SPEND_AMOUNT', 'REAL'], ['EAN', 'VARCHAR(13)'], ['UMV', 'VARCHAR(4)'], ['FC', 'REAL']] 

varsリスト内の各リストの個体要素を索引付けしようとすると何かが間違っているはずです。どうすればいいですか?どうもありがとう!

+0

@MByDのおかげを取得していますものです! – DanV

答えて

2

コードは正常に動作します。 print(columns)コマンドを試しましたか?ここ

は、私が編集のために

enter image description here

+0

@Vikash Singhに感謝します。私はこの機能を書き直して、最終的には先に進むことができました。それは私がこれを再訪し、あなたの結果を複製しようとしました。 – DanV

関連する問題