从dymanic list python创建mysql表

时间:2016-02-01 16:13:07

标签: mysql python-2.7

我有一个动态变化的字符串列表。我需要创建一个MySQL表,其中列表中的每个字符串都是一个列的名称。注意:我找到了一些使用sqlalchemy的例子,但它根本没有帮助我。

这是我的尝试:

f = open(filepath,"r")
pluginoutput= f.read()
pluginoptojson = json.loads(pluginoutput)
columnsnames = (pluginoptojson["columns"])
countcolumns = len(pluginoptojson["columns"])
count = 0
lst = []
for name in columnsnames:
    if count < countcolumns:
        lst.append(str(name))
        count +=1

lst.append("caseid")
createsqltable = """CREATE TABLE IF NOT EXISTS %s""" + for t in columnsnames: """ """  (test)
c.execute(createsqltable)
conn.commit()
c.close()
conn.close()
我的头脑即将爆发思维。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

首先感谢Irnzcig。

我刚测试了他的推荐,它就像魅力一样。代码是:

pluginoutput= f.read()
pluginoptojson = json.loads(pluginoutput)
columnsnames = (pluginoptojson["columns"])
countcolumns = len(pluginoptojson["columns"])
count = 0
lst = []
for name in columnsnames:
    if count < countcolumns:
        lst.append(str(name))
        count +=1

lst.append("caseid")
table_name = "test1"
createsqltable = """CREATE TABLE IF NOT EXISTS """ + table_name + " (" + " VARCHAR(50),".join(lst) + " VARCHAR(50))"
c.execute(createsqltable)
conn.commit()

c.close()
conn.close()
gc.collect()