import pandas as pd
import pymysql
from sklearn.preprocessing import MinMaxScaler
from sqlalchemy import create_engine


def con_sql(db,sql):
    cursor = db.cursor()
    try:
        cursor.execute(sql)
        result = cursor.fetchall()
        df = pd.DataFrame(list(result))
    except Exception:
        print("发生异常", Exception)
        df = pd.DataFrame()
    finally:
        db.close()
    return df


def normal():
    db = pymysql.connect(host='10.66.157.22', port=4000, user='root', passwd='3SYz54LS9#^9sBvC', db='jerry_test')
    sql = "select * from device_read_time"
    df = con_sql(db, sql)
    df = df.rename(columns={0:"device_id",1:"0",2:"1",3:"10",4:"1024",5:"1080",6:"11",
                            7:"12",8:"13",9:"2",10:"2054",11:"2214",12:"3",13:"4",14:"5",16:"6933",
                            17:"7",18:"9",19:"922",20:"929",21:"971",22:"992"})
    device_id = df[["device_id"]]
    df = df.drop("device_id",axis=1)
    minMax = MinMaxScaler()
    result = pd.DataFrame(minMax.fit_transform(df),columns=["0","1","10","1024","1080","11",
                            "12","13","2","2054","2214","3","4","5","6933",
                            "7","9","922","929","971","992"])
    result = device_id.join(result)
    yconnect = create_engine('mysql+pymysql://root:3SYz54LS9#^9sBvC@10.66.157.22:4000/jerry_test?charset=utf8')
    pd.io.sql.to_sql(result, "device_read_time_normal", yconnect, schema='jerry_test', if_exists='fail', index=False)


if __name__ == "__main__":
    normal()