Как получить доступ к данным в этом списке? - PullRequest
0 голосов
/ 10 октября 2018

Я использую IMDBpy для извлечения даты выпуска эпизода любого сериала, используя эту функцию.

episode_Release_date = ia.get_movie_release_dates(episode_id)

Теперь эта функция возвращает это значение -

{'data': {'raw release dates': [{'country': 'Argentina', 'date': '30 July 2017'}, {'country': 'USA', 'date': '30 July 2017'}, {'country': 'Germany', 'date': '31 July 2017', 'notes': ' (limited)'}, {'country': 'UK', 'date': '31 July 2017'}, {'country': 'Italy', 'date': '31 July 2017'}], 'release dates': ['Argentina::30 July 2017', 'USA::30 July 2017', 'Germany::31 July 2017 (limited)', 'UK::31 July 2017', 'Italy::31 July 2017']}, 'titlesRefs': {}, 'namesRefs': {}, 'info sets': ('release dates', 'akas')}

Теперь янужны только данные, связанные с США.Как получить доступ к дате релиза США в этом списке.

Функция API -

def get_movie_release_dates(self, movieID):
        cont = self._retrieve(self.urls['movienter code heree_main'] % movieID + 'releaseinfo')
        ret = self.mProxy.releasedates_parser.parse(cont)
        ret['info sets'] = ('release dates', 'akas')
        return ret

Я новичок в Python и только начинающий.

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Похоже, возвращаемое значение является строкой json, но я не уверен, почему в возвращаемом значении присутствует "(", ")".Предполагая, что это правильное значение json, модуль json можно использовать для анализа и получения нужного значения.

Если вы ищете необработанные даты выпуска -

for relEntry in episode_Release_date['data']['raw release dates']:
    if relEntry['country'] == "USA":
        print(relEntry) 

И если вы ищетев сроки выпуска -

for relEntry in episode_Release_date['data']['release dates']:
    if "USA" in relEntry:
        print(relEntry)   
0 голосов
/ 10 октября 2018

Использование pprint может быть полезно для визуализации при навигации по вложенным словарям

for i in ret['data']['release dates']:
    if 'USA' in i:
        print(i)
# USA::30 July 2017
...