Fel*_*ipe 8 python geolocation python-3.x nominatim
我正在创建一个特定的函数,它可以为我提供有关 ISS(国际空间站)和给定位置(十进制坐标)的信息,该位置可能因输入而异。但是当我使用这个时:
print(ubicacion.raw['address']['country'],",",ubicacion.raw['address']['city'])
Run Code Online (Sandbox Code Playgroud)
它有效,但对于某些国家/地区,例如当我尝试使用坐标堪培拉时,它会显示以下信息:
Corinna Street, Phillip, District of Woden Valley, Australian Capital Territory, 2606, Australia
因为它不提供城市,所以当我使用 key 时"city",我显然得到一个错误,因为它不存在于该列表中。
所以我想到的一个解决方案是,因为至少我会一直得到国家,也许我可以使用另一个功能,基于国家,我可以得到首都,这是我需要的,它存在, 我用"CountryInfo"( from countryinfo import CountryInfo)。问题是,当我尝试使用它时,出现以下错误:
UnicodeDecodeError: 'charmap' 编解码器无法解码位置 49 中的字节 0x81:字符映射到
我已经搜索过类似的问题,很多人建议指定编码,但它似乎不适用于geopy. 因为我试过这个:
countryinfo=CountryInfo(country,encoding="utf8")
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
TypeError: init () 得到了一个意外的关键字参数 'encoding'
Mar*_*k K 18
引用自:https : //python-forum.io/Thread-Countryinfo-package-charmap-error
来自 @snippsat 的回答 Sep-14-2018, 11:37 AM
打开countryinfo.py在..Lib \站点包\ countryinfo文件夹。将该行更改为:
country_info = json.load(open(file_path, encoding='utf-8'))
Run Code Online (Sandbox Code Playgroud)
这个对我有用。
| 归档时间: |
|
| 查看次数: |
20741 次 |
| 最近记录: |