用Python定时提取mysql中的数据(未完)

所需工具:
mysql
mysql-connector
python
python模块(apscheduler, pymysql, subprocess.Popen)

  1. 安装好mysql和python各模块后,创建两个.py文件,一个文件负责提取mysql数据的,一个文件负责定时执行另一个文件。

  2. 提取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)
  1. 定时执行另一个.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()

你可能感兴趣的:(Others)