我在运行在变量 h 中创建假期列表的脚本时会遇到以下错误。我首先在jupyter笔记本上运行了脚本,并且没有错误的情况正常,但是当我以脚本运行时,它不起作用。
我查看了几篇解决问题的帖子,但是我指定了我在脚本中导入的内容,因此不确定为什么它仍然不起作用。
错误
Traceback (most recent call last):
File "\userconfigworkspaceExcelProjectssrcrootnestedscrap.py", line 53, in <module>
h = USBankHolidayCal.holidays(datetime(2016, 1, 1), datetime(2016, 12, 31))
TypeError: 'module' object is not callable
代码
from pandas.tseries.holiday import Holiday, AbstractHolidayCalendar, nearest_workday, MO, USFederalHolidayCalendar
from pandas.tseries.offsets import DateOffset, CDay
UKdays = []
class UKHoliday(AbstractHolidayCalendar):
rules = [
Holiday('Boxing Day', month=12, day=26, year=2016,observance=nearest_workday),
Holiday('Christmas Day', month=12, day=27, year=2016,observance=nearest_workday),
Holiday('New Years Day', month=1, day=2, observance=nearest_workday),
Holiday('Good Friday', month=4, day=14, observance=nearest_workday),
Holiday('Easter Monday', month=4, day=17, observance=nearest_workday),
Holiday('Early May', month=5, day=1, observance=nearest_workday),
Holiday('Spring Bank', month=5, day=29, observance=nearest_workday),
Holiday('Summer Bank', month=8, day=28, observance=nearest_workday),
Holiday('Christmas Day', month=12, day=25, observance=nearest_workday),
Holiday('Boxing Day', month=12, day=26, observance=nearest_workday),
]
UKBankHolidayCal = UKHoliday()
h = UKBankHolidayCal.holidays(datetime(2016, 1, 1), datetime(2016, 12, 31))
for x in h:
UKdays.append(x.date())
任何帮助都非常感谢!
如果您这样做:
import datetime
datetime(2016, 1, 1)
你得到
TypeError: 'module' object is not callable
,但是如果您这样做
from datetime import datetime
datetime(2016, 1, 1)
它有效。
因此,问题以您导入datetime
的方式存在。您必须在情况下使用第二版,或者将模块与对象混合在一起,该模块共享同名。