Я хочу увеличить значение столбца sqlite в базе другого - PullRequest
1 голос
/ 30 апреля 2020

извините, если я делаю любую большую ошибку, кодирующую в 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...