Имя не определено, проблема в классе python - PullRequest
0 голосов
/ 12 апреля 2020

Я сделал класс, описывающий календарь (данные были загружены из папки на компьютере).

class Calendar(AbstractHolidayCalendar):
    ts = pd.read_csv('./data1.csv', usecols=['Y/M','Jun','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Okt','Nov','Dec'], index_col=['Y/M'], parse_dates=True)
    dates = pd.date_range(start=ts.index[0], end=(ts.index[ts.index.size-1] + pd.Timedelta('364D')), freq='D')
    start_date = dates[0]
    end_date = dates[dates.size-1]
    months = [ts.Jun, ts.Feb, ts.Mar, ts.Apr, ts.May, ts.Jun, ts.Jul, ts.Aug, ts.Sep, ts.Okt, ts.Nov, ts.Dec]
    Special = []
    for i in range (end_date.year-start_date.year+1):
        for j in range (12):
            d = [int(k) for k in months[j][i].replace('*','').replace('+','').split(',')]
            tmp = [datetime.datetime(start_date.year+i, j+1, d[z]) for z in range (len(d)-1)]
            Special += tmp   
    rules = [Holiday('Hw{}'.format(i), year=Special[i].year, month=Special[i].month, day=Special[i].day) for i in range (len(Special)-1)]

Start_date, end_date и правила являются существенными переменными в таком классе (не так ли?) Я использую start_date в l oop:

tmp = [datetime.datetime(start_date.year+i, j+1, d[z]) for z in range (len(d)-1)]#3 row at the bottom

Но ошибка

name 'start_date' is not defined

происходит с указанной строкой. Я никак не могу это исправить и понять, почему это происходит. Может быть, вы знаете, как это исправить?

...