导致Python崩溃的非拉丁字符

时间:2017-04-13 13:45:41

标签: python

我使用来自斯堪的纳维亚半岛的大量管理数据,并且通常包含在元数据中的是带有“ÅÄÄååö”字符的文本字符串。例如,带有城市名称的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或类似的东西(我已经谷歌搜索了几周没有成功)。

0 个答案:

没有答案