You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python定时脚本每2分钟运行失败:无数据输出问题求助

问题排查与解决方案

核心问题分析

第二段代码无数据输出的主要原因是:show_datafr 函数内最后一行的 df 仅创建了DataFrame对象,但没有主动输出它。在脚本环境中(非交互式 notebook),单独写变量名不会自动显示内容,必须显式调用输出方法。

修复步骤

  1. 添加显式输出
    在函数内最后一行添加 print(df)(Jupyter环境可改用 display(df)),确保DataFrame内容被输出:

    def show_datafr():
        ticks = api.ticks(api.Contracts.Stocks["2330"], "2022-08-09")
        df = pd.DataFrame({**ticks})
        df.ts = pd.to_datetime(df.ts)
        df = df[df.volume>200]
        print(df)  # 新增:显式打印DataFrame
    
  2. 验证定时任务是否触发
    在函数开头添加日志打印,确认schedule是否正常调用函数:

    def show_datafr():
        print(f"[{datetime.datetime.now()}] 开始获取数据...")  # 新增:打印触发时间
        ticks = api.ticks(api.Contracts.Stocks["2330"], "2022-08-09")
        df = pd.DataFrame({**ticks})
        df.ts = pd.to_datetime(df.ts)
        df = df[df.volume>200]
        print(df)
    
  3. 调整定时间隔为2分钟
    将原代码中的秒级调度改为目标的分钟级:

    schedule.every(2).minutes.do(show_datafr)  # 改为每2分钟执行一次
    
  4. 添加异常处理(可选但推荐)
    捕获API调用或数据处理中的异常,避免程序静默失败:

    def show_datafr():
        try:
            print(f"[{datetime.datetime.now()}] 开始获取数据...")
            ticks = api.ticks(api.Contracts.Stocks["2330"], "2022-08-09")
            df = pd.DataFrame({**ticks})
            df.ts = pd.to_datetime(df.ts)
            df = df[df.volume>200]
            print(df)
        except Exception as e:
            print(f"[{datetime.datetime.now()}] 执行出错:{str(e)}")
    

完整修复后的代码

import pandas as pd 
import numpy as np
import datetime
import schedule
import time

def show_datafr():
    try:
        print(f"[{datetime.datetime.now()}] 开始获取数据...")
        ticks = api.ticks(api.Contracts.Stocks["2330"], "2022-08-09")
        df = pd.DataFrame({**ticks})
        df.ts = pd.to_datetime(df.ts)
        df = df[df.volume>200]
        print(df)
    except Exception as e:
        print(f"[{datetime.datetime.now()}] 执行出错:{str(e)}")

schedule.every(2).minutes.do(show_datafr)

while True:
    schedule.run_pending()
    time.sleep(1)

内容的提问来源于stack exchange,提问作者David Lin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 20:57:16