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

每小时导出DataFrame至新Excel文件(时间戳命名)问题排查

问题分析与解决

核心问题

你的代码里dt_string是在程序启动时就生成好的固定值,每次调用export()函数都会重复使用这个初始时间戳,自然会覆盖同一个文件,而且文件名也不会对应导出时刻的时间。

修正后的代码

import pandas as pd
from datetime import datetime as dt
import schedule
import time

def export():
    # 每次导出时才获取当前时间生成时间戳
    now = dt.now()
    dt_string = now.strftime("%Y%m%d_%H%M%S")  # 用下划线替代空格,避免路径识别问题
    # 每次导出前重新读取原文件,确保使用最新数据
    df = pd.read_excel("file path", sheet_name='data')
    df.to_excel(f"file path/{dt_string}.xlsx", sheet_name='data')  # 用f-string拼接路径更清晰

schedule.every(3600).seconds.do(export)

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

关键改动说明

  • 将时间戳生成逻辑移到export()函数内部,每次执行导出操作时才获取当前时间,保证文件名对应导出时刻的时间戳。
  • 把时间戳里的空格替换为下划线_,避免因路径包含空格导致的文件读写异常。
  • 把读取Excel文件的操作移到函数内部,确保每次导出的都是原文件的最新数据(若原文件有更新),避免一直使用程序启动时读取的旧数据。
  • 采用f-string拼接路径与文件名,提升代码可读性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 13:45:33