我正在使用python複製部分字段並將其複製到另一個字段(在表中)。它以前工作,但現在我得到這個UnicodeEncodeError:UnicodeEncodeError:'ascii'編解碼器不能使用python腳本編碼字符u' u200f'
Traceback (most recent call last):
File "O:\Projects\NetworkAnalyst\Scripts\python\FiretrailsNameToRoadName.py", line 73, in <module>
elif len(str(row[0]).split()) == 1:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u200f' in position 6: ordinal not in range(128)
我如何才能知道我有什麼問題人物?而且會是解決它的唯一途徑
這裏是腳本的一部分,我得到的錯誤(刪除字符):
with arcpy.da.UpdateCursor(input_fc, fields) as cursor:
for row in cursor:
counter = counter + 1
print counter
#if NULL, paste Unnamed Firetrail
if (row[0] is None):
roadNameBase = "Unnamed"
roadNameType = "Firetrail"
row[1] = roadNameBase
row[2] = roadNameType
# cursor.updateRow(row)
#if name is one word, copy over to roadbasename
elif len(str(row[0]).split()) == 1:
roadNameBase = row[0]
roadNameType = "Firetrail"
row[1] = roadNameBase
row[2] = roadNameType
嗨WombatPM.Thanks您的回覆之前。我使用2.7是因爲它嵌入了我正在運行的程序中。我無法真正看到該領域的角色。數據是來自用戶的輸入。即使我現在刪除它,下次可能還是別的。我可能應該考慮如何限制用戶輸入,一旦我完全理解你在說什麼。我是編程新手。我試圖用這個 decRow0 = unicode(str(row [0]),errors ='ignore')但仍然得到相同的錯誤。我認爲我在我的理解中缺少一些東西... – lida
程序是負責獲取這些數據還是它是另一個源 – WombatPM
數據由用戶輸入到另一個將其寫入數據激發的軟件中(因此,最有可能的用戶錯誤,意外按在鍵盤上的東西)。該字段是一個文本字段,可以鍵入任何內容。 – lida