Можно ли обновить строку данных, используя положение столбца (например, как индекс списка) в Python / SQLAlchemy? - PullRequest
1 голос
/ 06 апреля 2020

Я пытаюсь сравнить две строки данных друг с другом, которые я сохранил в списке.

for x in range(0, len_data_row):
    if company_data[0][0][x] == company_data[1][0][x]:
        print ('MATCH 1: {} - {}'.format(x, company_data[0][0][x]))
        # do nothing

    if company_data[0][0][x] == None and company_data[1][0][x] != None:
        print ('MATCH 2: {} - {}'.format(x, company_data[1][0][x]))
        # update first company_id with data from 2nd


    if company_data[0][0][x] != None and company_data[1][0][x] == None:
        print ('MATCH 3: {} - {}'.format(x, company_data[0][0][x]))
        # update second company_id with data from 1st

Psuedocode того, что я хочу сделать:

Если данные по индексу [x] списка не None для строки 2, но пустые для строки 1, тогда напишите значение строки 2 в индексе [x] для данных строки 1 в моей базе данных.

Часть, которую я не могу понять, заключается в том, что если в SQLAlchemy вы можете указать, какой столбец обновляется индексом (я думаю, что в индексе db-land это означает нечто иное, чем то, что я имею в виду. означает что-то вроде индекса списка, например, список [1]). А также, если вы можете динамически указать, какой столбец обновляется путем передачи переменной в код обновления? Вот что я хочу сделать (это, конечно, не работает):

def some_name(column_by_index, column_value):
    u = table_name.update().where(table_name.c.id==row_id).values(column_by_index=column_value)
    db.execute(u)

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...