History_value 2018-05-14

# -*- coding: UTF-8 -*-

import os.path
import os
import time
import datetime
import pandas as pd
from sqlalchemy import create_engine
import pymysql
import datetime
import numpy as np


def history_value_all():

    # 打开数据库连接
    db = pymysql.connect(host="192.168.0.22", port=3307, user="public",
                         password="123456", db="product_value", charset="utf8")
    db_ = create_engine(
        'mysql+pymysql://public:123456@192.168.0.22:3307/product_value?charset=utf8')
    # 使用cursor()方法获取操作游标
    cursor = db.cursor()

    # 使用execute方法执行SQL语句
    cursor.execute(
        "select table_name from information_schema.tables where table_schema='product_value' and table_type='base table';")

    # 使用 fetchone() 方法获取一条数据
    datas = cursor.fetchall()
    db.close()
    nowTime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    rename_columns = {
        '日期': 'datetime',
        '当日盈亏': 'profit',
        '净值': 'net_value',
        '回撤':  'drawdown',
        '股票资产': 'stock_assert',
        '期货资产':   'future_assert',
        '总资产':  'total_assert',
        '出入金':  'cash_in_out',
        '备注': 'notes',

    }

    column = ['datetime', 'account_name', 'profit', 'net_value', 'drawdown', 'stock_assert',
              'future_assert', 'total_assert', 'cash_in_out', 'notes', 'insert_time']
    df_all = pd.DataFrame(columns=column)

    for data in datas:

        sql_ = r"select * from {0}".format(data[0])
        df = pd.read_sql(sql_, db_,)
        del df['index']
        df['account_name'] = data[0]
        df['insert_time'] = str(nowTime)

        df.rename(columns=rename_columns, inplace=True)

        df_all = df_all.append(df, ignore_index=True)

    df_all = df_all[column]
    df_all['datetime'] = df_all['datetime'].astype(str)

    df_all.to_sql(name='product_value', con=db_, if_exists='replace')

    try:
        sql_string = r"ALTER TABLE product_value  ADD PRIMARY KEY ( datetime(10) ,account_name(20))"
        cursor.execute(sql_string)
    except:
        pass


if __name__ == '__main__':

    history_value_all()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值