Я пытаюсь прочитать несколько столбцов из таблицы в MySQL и внести некоторые изменения в один из столбцов после выполнения некоторой работы (в частности, проверка на нулевые значения в 2 других столбцах).
ЯЧтение всего в dataframe pandas просто отлично, и выполнение моих манипуляций на dataframe просто отлично.
Итак, теперь у меня есть столбец dataframe, который мне нужен, но я не могу получить правильный синтаксис для записи этого столбца dataframe (или списка, если необходимо) обратно в таблицу mySQL.
import pandas as pd
import sqlalchemy as sql
import math
connect_string = 'mysql+pymysql://server:username@localhost/database'
sql_engine = sql.create_engine(connect_string)
query = "SELECT column1, column2, nullPresent FROM table1"
df = pd.read_sql_query(query, sql_engine)
column1Null= df['column1'].isnull()
column2Null= df['column2'].isnull()
df['nullPresent'][column1Null] = 1
df['nullPresent'][column2Null] = 1
nonNullToZero = df['nullPresent'].isnull()
df['nullPresent'][nonNullToZero] = 0
nullList = []
nullList = df['nullPresent']
# I've tried this, but it throws back errors:
sql.update(table1).values(nullPresent = nullList)
Если я напечатаю nullPresent в начале, каждое значение будет «None».Если в конце я печатаю nullPresent, он заполняется нулями и единицами.
Все, что я хочу сделать, - обновить таблицу mySQL, чтобы она содержала новые значения для nullPresent.