python - 在数据库Python中插入列表列表
问题描述
我正在尝试在数据库中插入列表列表,但出现此错误“cursor.execute('INSERT INTO Test VALUES(?, ?, ?)',list2) sqlite3.ProgrammingError: Incorrect number of bindings provided. 当前语句使用 3,提供了 200 个。” 在我的列表中有 201 个列表
import sqlite3
import csv
import pandas as pd
def Load():
list1 = []
comparar = []
conexion = sqlite3.connect("Pruebas")
cursor = conexion.cursor()
cursor.execute('CREATE TABLE IF NOT EXISTS Test ( "id" INT NOT NULL , "User" TEXT NOT NULL , "Followed" INT NOT NULL , PRIMARY KEY (id))')
cursor.execute("SELECT * FROM Test")
list1 = cursor.fetchall()
#print(data)
data = pd.read_csv(r'J:\\Proyectos y Trabajos\\Python\\Bot Instagram Follow\\Terminado BR\\Test.csv',delimiter=';')
tuples = [tuple(x) for x in data.values]
for i in tuples:
if i not in list1:
list1.append(i)
list2 = [list(elem) for elem in list1]
cursor.execute("DELETE FROM Test")
conexion.commit()
cursor.execute('INSERT INTO Test VALUES(?, ?, ?)',list2)
conexion.commit()
conexion.close()
Load()
解决方案
迭代list2
并对每个子列表中的值执行插入:
for sublist in list2:
cursor.execute('INSERT INTO Test VALUES(?, ?, ?)', sublist)
connexion.commit()
推荐阅读
- javascript - ReactJS 中的按钮显示不正确
- c++ - size_t 和 unsigned long long 有什么区别吗?
- regex - 查找和替换小写到大写不起作用
- python - 在 python 中绘图时图形重叠
- swift - 如何以编程方式将个人资料图像快速存储到firebase
- varnish - 如果选项设置 beresp.do_gzip = true,则 varnishstat 中没有后端计数器 beresp_bodybytes;
- php - Symfony 5 - 获取角色层次结构以影响用户
- vue.js - 同步函数调用期间的Vue更新组件
- gremlin - 将 Ip 字符串转换为整数以检查它是否属于 CIDR 块
- flutter - 在颤振上创建一个菜单,用 Navigator.pop() 关闭