提问人:Prmake 提问时间:10/12/2022 更新时间:10/12/2022 访问量:66
Python - 每小时df.to_excel一个新文件
Python - df.to_excel every hour new file
问:
我正在尝试每小时将数据帧导出到 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)
答:
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
评论