Я пытаюсь сравнить две строки данных друг с другом, которые я сохранил в списке.
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)
Спасибо!