gpt4 book ai didi

python - 如何在 shapefile (arcmap) 的属性表中将 'ß' 替换为 'ss'? ASCII 错误

转载 作者:行者123 更新时间:2023-12-01 00:57:28 25 4
gpt4 key购买 nike

我对Python编码很陌生,所以请详细回答,不要太严厉。我正在尝试将 shapefile 属性表中的德语元音变音“ß”替换为“ss”,并使用字段计算器来执行此操作,您可以在其中添加 python 代码块。

这是我迄今为止尝试过的:

def ecode(file, name, test):
test.decode("utf-8")
test.replace("\xe1", "ss")
test.encode("utf-8")
return test

我还使用了“U+00DF”和“\xdf”来代替“\xe1”。

出现此错误消息:

错误:ascii 编解码器无法对位置 11 中的字符 u'\xdf' 进行编码:序号不在范围 (128)

属性表的该字段中的街道名称是“Zuccalistraße 21a”,因此显然 ß 是超出 ASCII 范围的问题(这里它>数字 200)。我可以做什么来更换它?我已经在网上搜索了 5 个小时了......

很想得到一些答案!亲切的问候,艾拉

最佳答案

解码编码替换不能就地工作。尝试 test = test.decode('utf-8')test = test.encode('utf-8')test = test.replace( “\xe1”,“ss”)

这意味着decodereplace行对test没有影响。然后第三行尝试对对象进行编码但尚未解码,因此不起作用。

也就是说,在那之后你仍然会遇到问题。这是我要做的:

test = test.decode("utf-8")
test = test.replace(u"\xdf", "ss")
test = test.encode("utf-8")

test = test.decode("utf-8")
test = test.replace(u"ß", "ss")
test = test.encode("utf-8")

对您来说最易读的。

您也可以不对其进行解码/编码,而只执行 test = test.replace(u"\xdf".encode("utf-8"), "ss") test = test.replace("ß", "ss") 但通常最好处理 unicode 对象,因此我认为解码和编码是一个很好的做法。

关于python - 如何在 shapefile (arcmap) 的属性表中将 'ß' 替换为 'ss'? ASCII 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56132501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com