#将数据写入 分钟数据表 from pymysql import * # 连接mysql数据库 import pandas as pd from sqlalchemy import create_engine #----------------------------------写入分钟数据表 #返回重组后的列表 def refind_fd(list): #一条记录,也就是一个列表 temp=[] temp.append(list[2]) #设备编号 temp.append(list[12]) #上报时间 temp.append(list[11]) #归属时间 temp.append(list[6]) #风机电流 6 temp.append(list[7]) #净化器电流 7 temp.append(list[4]) #进油烟浓度值 temp.append(list[5]) #排油烟浓度值 temp.append(list[14]) #重复的次数 print(temp) return temp #将列表写入分钟数据表中 def fd_write_to_SQL(list,con): data = pd.DataFrame(list,columns=['MV_Stat_Code','MV_Create_Time','MV_Data_Time','MV_Fan_Electricity','MV_Purifier_Electricity','MV_Fume_Concentration','MV_Fume_Concentration2','MV_Isduplication']) print("写入分数数据表,DateFrame为:") print(data) # test3 要写入的数据表,这样写的话要提前在数据库建好表 data.to_sql(name="fd_t_minutevalue", con=con, if_exists="append",index=False,index_label=False) print("分钟数据表写入完成!") #转化 再写入fd_t_minbute表中 def fd_t_minbute(list,con): #一页的数据记录 ,con为数据库的建立 staging=[] #保存转换后的列表 for item in list: #提取需要的值,并添加其他字段 staging.append(refind_fd(item)) print('分钟数据转化后:') for i in staging: print(i) fd_write_to_SQL(staging,con) #将列表写入ea_t_dec表中 #------------------------------------------------------------------------------------------------------------- def write_all(has_remove_duplicates,con): #爬取文件中所有店铺(包括特殊的url店铺) 数据库连接对象 ,要爬取的页数,开始时间,结束时间 fd_t_minbute(has_remove_duplicates,con) #将指定页数数据写入数据库分钟数据表中 engine = create_engine("mysql+mysqlconnector://root:1234@localhost:3306/fume?charset=utf8") # 专门读取设备信息表 con_read = engine.connect() def write(data): engine = create_engine("mysql+mysqlconnector://root:1234@localhost:3306/fume?charset=utf8") con = engine.connect() write_all(data,con) con.close()