파이썬 for문 질문입니다.

조회수 667회
nStartYear = 2017
    nEndYear = 2020

    for year in range(nStartYear, nEndYear):
        for month in range(1,13):

            yyyymm = "{0}{1:0>2}".format(str(year), str(month))

            jsonData = getNatVisitor(yyyymm, national_code, ed_cd)

            print(json.dumps(jsonData,
                             indent=4, sort_keys=True,
                             ensure_ascii=False))

현재 1월부터 12월까지 for문을 돌리기 되어있는데 nStartYear을 2017년로하고 nEndYear에서 2020년 8월까지 for문을 돌리려면 코드를 어떻게 써야할까요?

1 답변

  • rrule 모듈을 사용해보세요

    https://dateutil.readthedocs.io/en/stable/index.html

    In [1]: from dateutil.rrule import *
    
    In [2]: list(rrule(MONTHLY, interval=1, dtstart=date(2017, 1, 1), until=date(2020, 8, 1)))                                                        
    Out[2]: 
    [datetime.datetime(2017, 1, 1, 0, 0),
     datetime.datetime(2017, 2, 1, 0, 0),
     datetime.datetime(2017, 3, 1, 0, 0),
     datetime.datetime(2017, 4, 1, 0, 0),
     datetime.datetime(2017, 5, 1, 0, 0),
     datetime.datetime(2017, 6, 1, 0, 0),
     datetime.datetime(2017, 7, 1, 0, 0),
     datetime.datetime(2017, 8, 1, 0, 0),
     datetime.datetime(2017, 9, 1, 0, 0),
     datetime.datetime(2017, 10, 1, 0, 0),
     datetime.datetime(2017, 11, 1, 0, 0),
     datetime.datetime(2017, 12, 1, 0, 0),
     datetime.datetime(2018, 1, 1, 0, 0),
     datetime.datetime(2018, 2, 1, 0, 0),
     datetime.datetime(2018, 3, 1, 0, 0),
     datetime.datetime(2018, 4, 1, 0, 0),
     datetime.datetime(2018, 5, 1, 0, 0),
     datetime.datetime(2018, 6, 1, 0, 0),
     datetime.datetime(2018, 7, 1, 0, 0),
     datetime.datetime(2018, 8, 1, 0, 0),
     datetime.datetime(2018, 9, 1, 0, 0),
     datetime.datetime(2018, 10, 1, 0, 0),
     datetime.datetime(2018, 11, 1, 0, 0),
     datetime.datetime(2018, 12, 1, 0, 0),
     datetime.datetime(2019, 1, 1, 0, 0),
     datetime.datetime(2019, 2, 1, 0, 0),
     datetime.datetime(2019, 3, 1, 0, 0),
     datetime.datetime(2019, 4, 1, 0, 0),
     datetime.datetime(2019, 5, 1, 0, 0),
     datetime.datetime(2019, 6, 1, 0, 0),
     datetime.datetime(2019, 7, 1, 0, 0),
     datetime.datetime(2019, 8, 1, 0, 0),
     datetime.datetime(2019, 9, 1, 0, 0),
     datetime.datetime(2019, 10, 1, 0, 0),
     datetime.datetime(2019, 11, 1, 0, 0),
     datetime.datetime(2019, 12, 1, 0, 0),
     datetime.datetime(2020, 1, 1, 0, 0),
     datetime.datetime(2020, 2, 1, 0, 0),
     datetime.datetime(2020, 3, 1, 0, 0),
     datetime.datetime(2020, 4, 1, 0, 0),
     datetime.datetime(2020, 5, 1, 0, 0),
     datetime.datetime(2020, 6, 1, 0, 0),
     datetime.datetime(2020, 7, 1, 0, 0),
     datetime.datetime(2020, 8, 1, 0, 0)]
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)