I have a file in which i calculate a startdate and enddate, these dates change by iteration each time between a range of dates. the code works fine but i don't know how to save each output seperately in csv files.
My current code saves the first output of the loop only and save it in different csv files.
from pandas.tseries.offsets import MonthEnd
from datetime import datetime, timedelta,date
import numpy as np
from pathlib import Path
import glob
import pandas as pd
for firstdate in pd.date_range('2022-01-01', '2025-12-31', freq='MS'):
startdate = firstdate.date()
enddate = (startdate + MonthEnd(1)).date()
df['slicing_startdate'] = np.where(((df.contractstartdate.dt.date.isnull()) |
(df.contractstartdate.dt.date < startdate)), startdate, df.contractstartdate.dt.date)
df['slicing_enddate'] = np.where(((df.effectiveenddate.dt.date.isnull()) | (enddate <
df.effectiveenddate.dt.date)), enddate, df.effectiveenddate.dt.date)
folder_path= r".../FileName.csv"
months = ['M1','M2','M3','M4','M5','M6','M7','M8','M9','M10','M11','M12','M13','M14','M15','M16','M17','M18','M19','M20','M21','M22','M23','M24','M25','M26','M27','M28','M29','M30','M31','M32','M33','M34','M35','M36']
for month in months:
p = Path(folder_path).parent.joinpath(f"BD_{month}.csv")
if not p.is_file():
df.to_csv(p,index=False)
else:
print('file exists')
So in each csv file under the name of BD_M1, BD_M2, ....etc i have the same slicingstardate = 01/01/2022 and slicingenddate = 31/01/2022. while the desired output is for each csv file i have the corresponding dates.
thanks a lot for your help!