12345678910111213141516 |
- import pandas as pd
- import datetime
- def trans_day(df_new,sn,start_time1,table_name,db_engine):
- end_t=pd.to_datetime(start_time1) -datetime.timedelta(seconds=600)
- sql="select * from {} where sn='{}' and Time_e>='{}' ".format(table_name,sn,end_t)
- df_old=pd.read_sql_query(sql, db_engine)
- if len(df_old)>=1:
- df_old=df_old[["sn","Time_b","Time_e"]].iloc[-1,:]
- df_new=df_new[["sn","Time_b","Time_e"]].iloc[0,:]
- time_delta=abs(pd.to_datetime(df_new["Time_b"])- pd.to_datetime(df_old["Time_b"])).total_seconds()
-
- if time_delta<120:
- with db_engine.connect() as con:
- sql2="delete from {} where sn='{}' and Time_b='{}' ".format(table_name,df_old["sn"],df_old["Time_b"])
- con.execute(sql2)
- con.connection.commit()
|