使用Python避免/替换MySQL中的重复行

时间:2019-06-16 16:16:11

标签: mysql python-3.x pandas mysql-python

我有一个每小时都会不断更新的MySQL表。鉴于以下现有的MySQL表:

  date      time    price   
11/6/2019   7:10     4.56  
11/6/2019   7:15     5.01 
11/6/2019   7:20     4.87 
11/6/2019   7:25     4.54 

两个问题:

  1. 如果2019年11月6日7:25处有另一个条目具有相同的4.54价格,如何避免插入重复的行?

  2. 如果在2019年11月6日7:25有一个新的插入条目且最新价格为5.02,如何插入最新价格? (此最新条目,相同的日期/时间但价格不同,将替换现有的条目)

我是MySQL的新手,我尝试了Googling,但找不到任何明确的答案-这让我更加困惑。在这种情况下,似乎不能使用主键/唯一键。

我正在使用Pandas / sqlalchemy / MySQLdb。我的代码在下面

import pandas as pd
import numpy as np
import MySQLdb
from sqlalchemy import create_engine

df = pd.read_csv('summary_1.csv')
price_df = df[['date','time','price']]

engine = create_engine('mysql+mysqldb://root:python@localhost:3306/testdb2', 
echo = False)

df.to_sql(name = 'price', con=engine, if_exists = 'append', index = True)

任何人都可以启发我吗?如果您需要更多信息,请与我们联系。谢谢!

0 个答案:

没有答案