如何在循环中用python更新表sqlite

2024-06-26 13:24:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图计算每一行的mode值并将该值存储在judge=judge列中,但是它只更新第一条记录并离开循环

注:Analisador是我的表,resultado_是我的数据库

import sqlite3
import statistics

conn = sqlite3.connect("resultado_2.db")
cursor = conn.cursor()

data = cursor.execute("SELECT Bow, FastText, Glove, Wordvec, Python, juiz, id FROM Analisador")

for x in data:
    list = [x[0],x[1],x[2],x[3],x[4],x[5],x[6]]
    mode = statistics.mode(list)
    try: 
        cursor.execute(f"UPDATE Analisador SET juiz={mode} where id={row[6]}") #row[6] == id
        conn.commit()
    except:
        print("Error")
conn.close()

Tags: importidexecutedatamodeconnsqlite3cursor
1条回答
网友
1楼 · 发布于 2024-06-26 13:24:27

执行SQL后,您必须提取记录:

cursor.execute("SELECT Bow, FastText, Glove, Wordvec, Python, juiz, id FROM Analisador")
data = cursor.fetchall()

这种类型的SQL查询不同于UPDATE(您在代码中也使用了UPDATE),UPDATE在SQL执行之后不需要额外的步骤。你知道吗

相关问题 更多 >