Я пытаюсь использовать 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?