首页 文章

错误索引列表中的列表以创建数据库列sqlite3 python

提问于
浏览
0

这可能是我缺少的一些基本内容,但它正在努力,如果你可以提供帮助,那将非常感激 . 我有一个列表,基本上是我的sqlite3数据库列:

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语句连接:

(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)

这是我正在使用的代码

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列表中每个列表的个体元素时,某些东西一定是错的,你能帮忙吗?非常感谢!

1 回答

  • 2

    你的代码运行正常 . 你试过 print(columns) 命令吗?

    这是我得到的

相关问题