Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Sqlite动态列名_Python_Sqlite - Fatal编程技术网

Python Sqlite动态列名

Python Sqlite动态列名,python,sqlite,Python,Sqlite,我有下面的Sqlite设置,试图用键项作为列名和值更新Tablename表 问题是我想将所有项目添加到单个记录中,其中名称不会更改,但项目更改为在键中获取所有项目 我的代码将对循环执行此操作,但对于多个记录,我只需要一个包含所有项的记录 Keys=['a','b',etc] Tablename='Asfoor' Name='Deek' for item in keys: data=[Name,Item] cur.executemany("INSERT IN

我有下面的Sqlite设置,试图用
项作为列名和值更新
Tablename
表 问题是我想将所有
项目
添加到单个记录中,其中
名称
不会更改,但
项目
更改为在
键中获取所有
项目

我的代码将对循环执行此操作,但对于多个记录,我只需要一个包含所有
项的记录

Keys=['a','b',etc]
Tablename='Asfoor'
Name='Deek'
    for item in keys:
        data=[Name,Item]
        cur.executemany("INSERT INTO "+Tablename+" (Name,"+Item+") VALUES(?,?)",(data,))
完整代码:

import sqlite3
import sys
tablename='asfoor'
table_data=['Name','a','b','c']

try:
    con = sqlite3.connect('dbtrials.db')
    cur = con.cursor()
    cur.execute("DROP TABLE IF EXISTS "+tablename+"")
    cur.execute("CREATE TABLE "+tablename+" (ID INTEGER PRIMARY KEY AUTOINCREMENT ,Name TEXT, "+table_data[1]+" TEXT, "+table_data[2]+" TEXT, "+table_data[3]+" TEXT )")

    keys=['a','b','c']

    name='deek'
    for item in keys:
        data=[name,item]
        cur.executemany("INSERT INTO "+tablename+" (name,"+item+") VALUES(?,?)",(data,))
    cursor = cur.execute("select * from "+tablename+" ")
    for row in cursor  :
          print(row)


except sqlite3.Error as e:

    print ("Error %s:" % e.args[0])
    sys.exit(1)

finally:

    if con:
        con.close()

这取决于您的SQL模式。您的数据库模式是否已初始化?您是否考虑过使用
pandas
库,还是只想使用
sqlite
模块来实现这一点?我想在sqlite中实现它。您没有回答我的第一个问题。您的数据库模式是什么?它已经初始化了吗?我对python和Sqlite还不熟悉。所以我不明白你们的问题是什么意思。数据库模式与python无关。此上下文中的数据库模式与sql数据库有关,即sqlite数据库。您以前使用过sql吗?如果是这样的话,您至少应该知道如何创建表,而不仅仅是插入到表中。