【发布时间】:2021-04-08 11:34:43
【问题描述】:
我必须每 5 分钟从 SQL Server 表中读取数据,重新采样数据并每天自动生成一个 .csv 文件,文件名是日期。我的代码如下:
import pyodbc
import pandas as pd
from datetime import datetime, timedelta
import datetime
import time
conn = pyodbc.connect( driver='{SQL Server Native Client 11.0}',server='xyz', database='RW', Trusted_Connection='yes')
cursor = conn.cursor()
t_date=datetime.datetime.now().date()
today_date=pd.to_datetime(t_date)
tm_date = today_date + timedelta(days=1)
filename = str(t_date)+'.csv'
path = 'G:\\dump\\'
while 1:
sql = '''SELECT * FROM weather_data WHERE TimeCol BETWEEN ? AND ? ORDER BY LOCALCOL ASC;'''
df = pd.read_sql_query(sql, conn, index_col = 'Timecol', params =[today_date, tm_date])
df1 = df.resample('15Min').mean()
df1.index.names = ['Date Time']
df1.to_csv(path+filename)
time.sleep(300)
当我运行代码一天时,会创建 .csv 文件,但第二天(00:00 后)不会生成新文件,除非我重新运行代码。
每天早上 00:00 的期望行为:
01-01-2020.csv
01-02-2020.csv
01-03-2020.csv
.
.
请支持我应该进行哪些更改,以便 .csv 导出每天都能自动化。另外,请建议是否需要进行任何微调以使其健壮。提前致谢。
【问题讨论】:
标签: python pandas csv datetime pyodbc