trans_day.py 827 B

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