UnicodeDecodeError: кодек 'charmap' не может декодировать байт 0x81 в позиции 49: символ отображается на <undefined> - PullRequest
0 голосов
/ 04 июня 2019

Я создаю определенную функцию, которая может дать мне информацию относительно МКС (Международной космической станции) и заданного местоположения (в десятичных координатах), которое может варьироваться в зависимости от входных данных. Но когда я использую это:

print(ubicacion.raw['address']['country'],",",ubicacion.raw['address']['city'])

Это работает, но для определенных стран, например, когда я пытаюсь с координатами Канберра, отображается следующая информация:

Коринна-стрит, Филип, округ Долина Воден, Австралийская столичная территория, 2606, Австралия

и поскольку он не предоставляет город, когда я использую ключ "city", я, очевидно, получаю сообщение об ошибке, поскольку его нет в этом списке.

Итак, одно решение, которое я запомнил, состояло в том, что, по крайней мере, я всегда буду получать страну, возможно, я мог бы использовать другую функцию, которая в зависимости от страны, я мог бы получить столицу, которая мне нужна. и он существует, я использовал "CountryInfo" (from countryinfo import CountryInfo). Проблема в том, что, когда я пытаюсь использовать его, я получаю следующую ошибку:

UnicodeDecodeError: кодек 'charmap' не может декодировать байт 0x81 в позиции 49: символ отображается на

Я уже искал подобные вопросы, и многие люди предлагают указать кодировку, но, похоже, она не работает с geopy. так как я попробовал это:

countryinfo=CountryInfo(country,encoding="utf8") 

и я получил эту ошибку:

TypeError: init () получил неожиданный аргумент ключевого слова 'encoding'

1 Ответ

0 голосов
/ 04 июня 2019
from countryinfo import CountryInfo

country = CountryInfo('Singapore')
country.capital()
# returns string
'Singapore'

country.capital () получит вам капитал в строковом формате

...