2017-02-18 41 views
0

这可能是基本的东西,我失踪,但它在做我的头,如果你能帮助,将不胜感激。 我有一个列表的列表是基本上意思是我的sqlite3的数据库列:错误索引列表内的列表创建数据库列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语句串联

这是我使用

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']] 

因此,当我尝试索引变量列表中的每个列表的个人元素时,有些事情一定是错的,你能帮忙吗?非常感谢!

+0

@MByD感谢编辑! – DanV

回答

2

您的代码正常工作。你试过print(columns)命令吗?

这里是我得到

enter image description here

+0

感谢@Vikash Singh,我重写了这个函数,并最终设法向前迈进,说我会重新访问这个并试图复制你的结果,非常感谢你的帮助,非常感谢! – DanV