所需工具:
mysql
mysql-connector
python
python模块(apscheduler, pymysql, subprocess.Popen)
安装好mysql和python各模块后,创建两个.py文件,一个文件负责提取mysql数据的,一个文件负责定时执行另一个文件。
提取mysql数据的代码
# -*- coding: utf-8 -*-
import pandas as pd
import pymysql
#mysql数据库的配置
dbconn=pymysql.connect(
host="127.0.0.1",
database="MySQL",
user="root",
password="zhangmian",
port=3306,
charset='utf8'
)
#用Python执行的sql语句
sqlcmd="select date from `foreign exchange`.usdjpy15"
#用pandas.read_sql的读取mysql的数据
a=pd.read_sql(sqlcmd,dbconn)
#取前5行数据
b=a.head()
print(b)
- 定时执行另一个.py文件的代码
# -*- coding: utf-8 -*-
import apscheduler
import time
from apscheduler.schedulers.blocking import BlockingScheduler
import pandas as pd
import pymysql
import subprocess
import os
def my_job():
subprocess.Popen('python F:/backtest/basic-check/basic-check/test_kang.testmysql.py') #用Popen进程操作打开.py文件
a=pd.read_sql(sqlcmd,dbconn) #用pandas中的read_sql读取mysql数据
b=a.head()
print(b)
# print (time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
# subprocess.popen()
sched = BlockingScheduler()
sched.add_job(my_job, 'interval', seconds=5)
sched.start()