UnicodeDecodeError:“ charmap”编解码器无法解码位置49的字节0x81:字符映射到<undefined>

时间:2019-06-04 16:03:35

标签: python python-3.x geolocation nominatim

我正在创建一个特定的功能,该功能可以为我提供有关ISS(国际空间站)和给定位置(以十进制坐标表示)的信息,该信息可能会因输入而异。但是当我使用这个:

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

它可以工作,但是对于某些国家/地区,例如,当我尝试使用堪培拉坐标时,它会显示以下信息:

  

澳大利亚首都领地沃登谷区菲利普市科林纳街,2606,澳大利亚

并且由于它不提供城市信息,因此当我使用键"city"时,很明显会收到错误消息,因为该列表中不存在该错误。

所以我想到的一个解决方案是,由于至少我将永远获得国家,也许我可以使用另一种功能,那就是基于国家,我可以获得首都,这是我所需要的并且它存在,我使用了"CountryInfo"from countryinfo import CountryInfo)。问题是,当我尝试使用它时,出现以下错误:

  

UnicodeDecodeError:'charmap'编解码器无法解码位置49的字节0x81:字符映射到

我已经搜索了类似的问题,许多人建议指定编码,但是似乎不适用于geopy。因为我尝试过这个:

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

我收到此错误:

  

TypeError: init ()获得了意外的关键字参数'encoding'

2 个答案:

答案 0 :(得分:1)

引用自:https://python-forum.io/Thread-Countryinfo-package-charmap-error

来自@snippsat的答案Sep-14-2018,11:37 AM

在..Lib \ site-packages \ countryinfo文件夹中打开 countryinfo.py 。 将行更改为:

country_info = json.load(open(file_path, encoding='utf-8'))

对我有用。

答案 1 :(得分:0)

<Button>
 <VisualStateManager.VisualStateGroups>
                <VisualStateGroup x:Name="CommonStates">
                    <VisualState x:Name="Normal">
                        <VisualState.Setters>
                            <Setter Property="BackgroundColor" Value="Yellow" />
                        </VisualState.Setters>
                    </VisualState>
                    <VisualState x:Name="Pressed">
                        <VisualState.Setters>
                            <Setter Property="BackgroundColor" Value="Blue" />
                        </VisualState.Setters>
                    </VisualState>
                </VisualStateGroup>
            </VisualStateManager.VisualStateGroups>
   <Button>

country.capital()将以字符串格式为您提供资金