Я абсолютный новичок ie в SQL и только начал работать с ним. У меня есть база данных SQLite с ценами на акции и их датами.
Используя API, я затем читаю новейшие цены на акции и хочу обновить свою базу данных и добавить только новые цены с новыми датами. Но я хочу сохранить старые в базе данных. Я получаю их из API как pandas фрейм данных. Мой API возвращает дубликаты, и я не хочу иметь дубликаты в моей базе данных.
Я использую Python 3.6 и sqlite3 в качестве движка.
Вот один пример набора данных из данных:
1. open 2. high 3. low 4. close 5. volume
date
2020-04-09 16:00:00 571.925 573.01 571.73 573.01 117287.0
2020-04-09 15:59:00 572.000 572.00 571.45 572.00 56954.0
2020-04-09 15:58:00 571.450 572.00 571.28 571.90 63987.0
2020-04-09 15:57:00 571.560 572.00 571.26 571.42 50978.0
2020-04-09 15:56:00 570.990 571.61 570.58 571.49 30975.0
Я устал от предложенного решения от https://www.ryanbaumann.com/blog/2016/4/30/python-pandas-tosql-only-insert-new-rows. Но я получаю сообщение об ошибке:
KeyError: Index(['date'], dtype='object')
Используется код:
df_new=clean_df_db_dups(data, tablename, conn, ['date'])
print('New:',df_new.head())
Любая помощь будет полезна. Это всего лишь мой второй пост Stackoverflow, так что если я делаю что-то не так, просто скажите мне;).