【发布时间】:2019-08-18 03:54:25
【问题描述】:
我有一个 SQL 查询,它使用日历月的第一天和最后一天生成给定月份的数据子集。我一直试图弄清楚如何循环它几个月 - 我有两个列表(一个用于第一个,另一个用于最后几天),两个元组(相同)和一个字典(第一个和最后一个是键和值)所有这些日期 - 并将所有结果存储在一个数据框中,我的处境非常糟糕。
如果我只使用一个列表或元组,我可以循环并获取所有数据 - 然后我可以循环遍历它并获取所有数据。如果我尝试使用两个,它根本不起作用。有没有办法做我想做的事?
fd=['2018-05-01','2018-06-01','2018-07-01']
ld=['2018-05-31','2018-06-30','2018-07-31']
my_dict=dict(zip(fd, ld))
data_check=pd.DataFrame()
fd_d=','.join(my_dict.keys())
ed_d=','.join(['%%(%s)s' % x for x in my_dict])
query= """
SELECT count(distinct ids),first_date, last_date from table1
where first_date=%s and last_date =%s
group by 2,3
"""
for x in my_dict:
df=pd.read_sql(query% (fd_d,ed_d),my_dict)
data_check=data_check.append(df)
【问题讨论】:
-
添加 - 红移。谢谢!
标签: python sql loops amazon-redshift