How can I use a 2d #dictionary in #python to update 2 columns in an #oracle database using #cx_Oracle package

35 views Asked by At

I need to update 2 columns in an oracle database. I have my values in a Python dictionary that looks like this :

my_dict = {
    '8874': (0.0, 'Comml'),
    '79352': (0.22, 'Resial'),
    '0600147': (0.464, 'Reential'),
}

Tried using the below code but it keeps failing.

for row_key, row_data in data_to_update.items():
    columns_list= ['KWag', 'CLASSID']
    set_clause = ', '.join(
        [
            f"{column} = '{value}'"
            for column, value in row_data.items()
            if column in columns_list
        ]
    )
    sql_statement = (
        f"UPDATE DATABASE SET {set_clause} WHERE NUMBER=:key_value"
    )

It throws this error

set_clause = ', '.join([f"{column} = '{value}'" for column, value in row_data.items() if column in columns_list ])
AttributeError: 'list' object has no attribute 'items'
0

There are 0 answers