首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pykml和utf8:要么输入不正确,要么我不理解

pykml和utf8:要么输入不正确,要么我不理解
EN

Stack Overflow用户
提问于 2016-10-21 23:38:10
回答 2查看 502关注 0票数 0

我有一个来自www的kmz文件,并希望使用pykml将其读取到csv或类似文件中。该文件是UTF8格式的,或者至少它声称是这样的-请参阅下面的标题。读取它是可行的,但在读到第一个重音字符时会触发错误。

代码语言:javascript
复制
<?xml version='1.0' encoding='UTF-8'?>
<kml xmlns='http://www.opengis.net/kml/2.2'>
 <Document>
   <name>

from pykml import parser
with open(KMZFIL) as f:
 folder=parser.parse(f).getroot().Document.Folder
for pm in folder.Placemark:
 print(pm.name)

Ablitas (militar) (Emerg)
Ademuz (forestal)
Ager (PL%)
Alcala del Rio (ILIPA MAGNA)(Esc.)
Traceback (most recent call last):
  File "bin4/b21_xxxxxxx", line 15, in <module>
    print(pm.name)

grep "name" $INFIL | head -7
 ( ... )
   <name>Ablitas (militar) (Emerg)</name>
   <name>Ademuz (forestal)</name>
   <name>Ager (PL%)</name>
   <name>Alcala del Rio (ILIPA MAGNA)(Esc.)</name>
   <name>Ainzón</name>
EN

回答 2

Stack Overflow用户

发布于 2016-10-21 23:59:08

您需要以指示Python将字节解释为UTF-8字符的方式打开文件。

代码语言:javascript
复制
import codecs
with codecs.open(KMZFIL, encoding='utf-8') as f:

在Python3中,encoding选项已经添加到标准open中,因此不需要使用codecs

票数 0
EN

Stack Overflow用户

发布于 2018-09-18 03:48:47

我在这里没有看到答案,但这些都是lmxl StringElements --我使用.text修复了这个错误。

将打印(pm.name)更改为打印(pm.name.text)

https://lxml.de/api/lxml.objectify.StringElement-class.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40180598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档