我使用来自斯堪的纳维亚半岛的大量管理数据,并且通常包含在元数据中的是带有“ÅÄÄååö”字符的文本字符串。例如,带有城市名称的shapefile。
我希望能够做的是搜索属性表并用A,Ö替换每个Å和Ä用o,å和ä用a和ö用o替换。我知道怎么用'替换'来做这个,但我的问题是,即使脚本中的字母导致错误。
我甚至用适当的chr值替换了实际的字母,但这也没有用。这只是尝试这样做的众多尝试之一:
# -*- coding: cp1252 -*-
from arcpy import da
import re
fc = r"V:\Indata\tatort_fran_kund_buff200m.shp"
fields = ['TOBETECKN', 'Outname']
with da.UpdateCursor(fc, fields) as cursor:
for row in cursor:
s = row[0]
for ch in s:
if ch == chr(196):
s = s.replace(ch, 'A')
elif ch == chr(197):
s = s.replace(ch, 'A')
elif ch == chr(214):
s = s.replace(ch, 'O')
elif ch == chr(228):
s = s.replace(ch, 'a')
elif ch == chr(229):
s = s.replace(ch, 'a')
elif ch == chr(246):
s = s.replace(ch, 'o')
row[1] = s
cursor.updateRow(row)
我没有尝试过任何作品。在此示例中,脚本工作但忽略了实际的元音替换并返回相同的文本(使用旧元音)。任何和所有的帮助表示赞赏,但请不要建议我阅读unicode或类似的东西(我已经谷歌搜索了几周没有成功)。