Python - 每小时df.to_excel一个新文件

Python - df.to_excel every hour new file

提问人:Prmake 提问时间:10/12/2022 更新时间:10/12/2022 访问量:66

问:

我正在尝试每小时将数据帧导出到 excel,并将导出时间作为文件名。 因此,对于每次导出,它应该创建一个文件名比上一次导出晚 1 小时的新文件。

使用我当前的代码,它不断覆盖单个文件,并且也不会更改为当前时间。

我的dt_string与 schedule.every 相结合首先是错误的,因为如果我打印它,它只会每 x 秒打印一次运行开始时的初始时间戳。

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

now = dt.now()
dt_string = now.strftime("%Y%m%d %H%M%S")

df = pd.read_excel("file path", sheet_name='data')
def export():
    df.to_excel("file path" + dt_string + ".xlsx", sheet_name='data')

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

while 1:
    schedule.run_pending()
    time.sleep(1)
Python 熊猫

评论


答:

2赞 Eric Yang 10/12/2022 #1

您需要将dt_string初始化移动到函数中

def export():
    now = dt.now()
    dt_string = now.strftime("%Y%m%d %H%M%S")
    df.to_excel("file path" + dt_string + ".xlsx", sheet_name='data')

评论

0赞 Itik 10/12/2022
您还需要添加到该函数中。如果你保持这种状态,时间就不会更新。now = dt.now()export