全角转半角,arcgis中处理featureClass数据

在处理ArcGIS中的featureClass数据时,由于arcgis可能仅识别gb18030编码,导致全角字符转换效果不佳。本文介绍了一种新的全角转半角方法,该方法会直接修改源数据,使用前建议备份原始数据。
摘要由CSDN通过智能技术生成
#全角转半角
def strQ2B(featureClass):
#把字符串全角转半角
    rows=arcpy.UpdateCursor(featureClass)
    for row in rows:
        rstring=""
        ustring=row.NAME_CHN
        for uchar in ustring:
            inside_code=ord(uchar)
#全角空格为12288,半角为32
            if inside_code==12288:
                inside_code=32
            else:
                inside_code-=65248
#转完之后不是半角字符返回原来的字符
            if inside_code<32 or inside_code>126:
                rstring+=uchar
            else:
                rstring+=unichr(inside_code)
        row.NAME_CHN=rstring
        rows.updateRow(row)
    del row
    del rows


在网上找了很多相关的例子,但是在处理featureClass时候,效果很不理想,可能是由于arcgis只识别gb18030编码的原因,因此,重新写了一个全角转半角的方法。

这个会修改源数据,所以想要直接拿来用的话,最好先备份一下源数据。

 

def strQ2B(ustring):
    """
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值