Обновите столбец таблицы MySQL столбцом данных или списком pandas. - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь прочитать несколько столбцов из таблицы в 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.

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