Обновление записи с помощью to_sql - PullRequest
0 голосов
/ 24 ноября 2018

Я пытаюсь использовать Pandas для сравнения df из текстового файла с df из базы данных sql.Если элемент отличается в текстовом файле df, я хочу вставить его или, если он у меня уже есть, обновить это поле базы данных.

# Text File
# "Id","Stock_ID","Colour"
# "298","203","Green"

df1 = pd.read_table("data.txt", sep = ",")
df2 = pd.read_sql_table("mytable", con=engine)


df3 = pd.concat([df2, df1], sort=False).drop_duplicates(subset = . 
["Stock_ID"], keep=False)
df4 = df3.loc[pd.isnull(df3.id)] # This contains the new record to update

df4.to_sql('feed', con=engine, if_exists='replace', index_label='id', 
dtype={
    'id': sqlalchemy.INTEGER(), 
})

df4.to_sql выдает ошибку ValueError: duplicate name in index/columns: cannot insert id, already exists.

Как мне обновить строку в базе данных по id?

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