Python: просмотр списка стран на праздники - PullRequest
0 голосов
/ 09 февраля 2020

Я довольно новичок в Python. Я использую пакет Python holiday , который имеет c праздников по стране. Чтобы получить праздник страны, вы можете запустить что-то вроде:

sorted(holidays.US(years=np.arange(2014,2030,1)).items()

Это даст дату и праздник. Теперь я хочу получить данные по множеству стран. Как мне l oop в списке стран вместо замены названия страны в приведенном выше коде каждый раз? здесь рассматриваются следующие страны:

[FRA, Norway, Finland, US, Germany, UnitedKingdom, Sweden]

Я попытался для l oop, например так:

countrylistLoop = ['FRA', 'Norway', 'Finland', 'US', 'Germany', 'UnitedKingdom', 'Sweden']

for i in countrylistLoop:
     print(sorted(holidays.i(years=np.arange(2014,2030,1)).items()),columns=['Date','Holiday'])

Это выдает ошибку AttributeError:

AttributeError: module 'holidays' has no attribute 'i'.

Это имеет смысл, но я не уверен, что делать дальше!

В идеале, я хотел бы перебрать l oop и сохранить результаты в кадре данных. Любая помощь высоко ценится! Спасибо!

1 Ответ

4 голосов
/ 09 февраля 2020

Вы можете получить элементы следующим образом

import holidays
countrylistLoop = ['FRA', 'Norway', 'Finland', 'US', 'Germany', 'UnitedKingdom', 'Sweden']
for country in countrylistLoop:
    hd = sorted(holidays.CountryHoliday(country, years=np.arange(2014,2030,1)).items())

Но для сортировки не требуется аргумент columns.

или вы можете сортировать элементы на основе индекса

    hd = sorted(list(holidays.CountryHoliday(country, years=np.arange(2014,2030,1)).items()), 
               key=lambda holiday: holiday[1])
...