抱歉,如果我在Python中进行任何大错误编码,我都是新手。我需要知道如何增加表的每一行中的列的值,具体取决于同一个表中其他列的值(在SQLITE3中),例如,如果列“ a”的值小于20,则“ b”列的值将为:b = b + 1000。 我试图用一个foor循环和条件语句来做到这一点,有时它可以工作,但是并不能像我希望的那样工作。 这是te代码:
import os, sys
import sqlite3
import pandas as pd
def con():
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
db_path = os.path.join(BASE_DIR, "data_base.s3db")
db = sqlite3.connect(db_path)
cur = db.cursor()
cur.execute("SELECT * FROM ciudadanos")
data_ = cur.fetchall()
data = pd.DataFrame(data_, columns=
['dni','nombre','tn','etc','etc','etc','etc','etc','etc','etc','etc','etc',
'etc','etc','etc','etc','etc','pn'])
tn = data['tn']
def jeil():
j = 0
for i in data:
if '18' >= tn[j]:
cur.execute("UPDATE ciudadanos SET pn = pn - 1000")
elif '18' <= tn[j]:
cur.execute("UPDATE ciudadanos SET pn = pn + 20")
elif '80' >= tn[j]:
cur.execute("UPDATE ciudadanos SET pn = pn- 1000")
j += 1
jeil()
db.commit()
cur.close()
con()