извините, если я делаю любую большую ошибку, кодирующую в Python Я новичок в этом. Мне нужно знать, как увеличить значение столбца в каждой строке таблицы в зависимости от значения другого столбца из той же таблицы (в SQLITE3), например, если значение столбца «а» меньше 20 Значение столбца 'b' будет равно: b = b + 1000. Я пытаюсь сделать это с помощью l oop и условных выражений, иногда это работает, но не так близко, как я хочу, чтобы это работало. Вот код:
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()