如何解决如何修复UnicodeEncodeError:'ascii'编解码器无法在位置15编码字符u'\ xc9':序数不在范围内128
我需要在企业级地理数据库(oracle sde)中打印所有数据集名称,要素,类和字段。
我制作了一个有效的脚本,但是当遇到特定要素类即
时数据集Z18.PLANIMÉTRIE_VÉGÉTATION
中的CTSE_2DIV_Z18.VÉGÉTATION_NICOLET我收到此错误:
UnicodeEncodeError:'ascii'编解码器无法在位置15编码字符u'\ xc9':序数不在范围内(128)
因此,错误来自É字符。 如果有人可以提供一些建议,将不胜感激。 谢谢。
import csv,arcpy,os
from arcpy import env
import sys
path = r"ArcCatalog\Farnham.sde" #Z18
arcpy.env.workspace = path
datasetList = arcpy.ListDatasets("*","Feature")
for dataset in datasetList:
print 'Dataset :',dataset
fcList = arcpy.ListFeatureClasses("*","",dataset)
fcList.sort()
for fc in fcList:
fc_to_remove = [str(i).encode('ascii','ignore') for i in fcList]
print ' Ceci est un Feature class :',fc
not_null_fields = [field.name for field in arcpy.ListFields(fc) if field.isNullable != "False"]
fields_dict = {field: list(set([feature[not_null_fields.index(field)] for feature in arcpy.da.SearchCursor(fc,not_null_fields)])) for field in not_null_fields}
fields_to_remove_unicode = [k for k,v in fields_dict.iteritems() if v == [None]]
fields_to_remove = [str(i).encode('ascii','ignore') for i in fields_to_remove_unicode]
print 'Les attribus suivant seront effacer :',fields_to_remove
print "\n"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。