#将数据写入 分钟数据表
|
|
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[13]) #重复的次数
|
|
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+pymysql://fumeRemote:feiyu2023@114.215.109.124:3306/fume?charset=utf8")
|
# 专门读取设备信息表
|
con_read = engine.connect()
|
|
def write(data):
|
engine = create_engine("mysql+pymysql://fumeRemote:feiyu2023@114.215.109.124:3306/fume?charset=utf8")
|
con = engine.connect()
|
write_all(data,con)
|
con.close()
|
|
|