Home > other >  Create list based on actual month and year
Create list based on actual month and year

Time:09-06

I have my code which should returns names of the months from now and the year for the next 12 months.

e.g. whe have now September so the code should retuns list of months with year till the September 2023th.

month_names = "January February March April May June July August September October November December".split()

Year = '2022'
month_now = datetime.date.today().month

dict_of_dfs = {}
for i in range(month_now,len(month_names)):
    df_name = month_names[i]
    print(Year,i 1,'01')

This code returns only the months till the end of the year and I do not know how to change it.

The output should look like that:

2022 10 01
2022 11 01
2022 12 01
2023 01 01
2023 02 01
2023 03 01
...
2023 07 01
2023 08 01
2023 09 01

CodePudding user response:

Check pd.date_range

pd.date_range(start = Year   '-'   str(month_now 1)   '-01', periods=12, freq='MS')

CodePudding user response:

Another solution with pd.date_range:

pd.date_range(start=month_now.replace(day=1), periods=13, freq='MS')[1:]

CodePudding user response:

Using Pendulum:

import pendulum


date_list = [pendulum.now().add(months=1).start_of("month").add(months=x).to_date_string() for x in range(12)]
print(date_list)

['2022-10-01', '2022-11-01', '2022-12-01', '2023-01-01', '2023-02-01', '2023-03-01', '2023-04-01', '2023-05-01', '2023-06-01', '2023-07-01', '2023-08-01', '2023-09-01']
  • Related