如何修复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 (将#修改为@)