我正在Python脚本中编写Oracle SQL查询。查询如下:
query_dict={
'df_fire':
'''
SELECT INSURED_ID AS CUST_ID, COUNT(*) AS CNT
from POLICY
WHERE POLICY_EXPDATE >= TO_DATE('2018/01/01', 'YYYY/MM/DD')
AND POLICY_EFFDATE <= TO_DATE('2018/01/31', 'YYYY/MM/DD')
'''
}
"""
然后将其放入泡菜文件中,并按以下方式打开它:
df_fire ={}
account, pwd = 'E', 'I!'
for var, query in query_dict.items():
df_fire[var] = get_SQL_raw_data(account, pwd, var, query)
pickle.dump(df_fire, open('./input/df_fire.pkl', 'wb'))
df_fire_dict = pickle.load(open('./input/df_fire.pkl', 'rb'))
df_fire = df_fire_dict['df_fire']
但是,此结果仅适用于201801,没有快照日期。我的目标是从201801到202004年制作一个yyyymm数据框(如下所示)。也许我需要使用for循环,但是我不知道在哪里以及如何使用它。
My goal:
yyyymm icust_d cnt
-------------------
201801 A12345 1
201802 A12345 1
201803 A12345 2
.... .... ....
202004 A12345 5
我是Python的新手,已经花了几个小时来研究如何执行此操作,但仍然无法完成。希望有人能帮忙。非常感谢你。