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

来源:互联网 发布:起点传奇数据库编辑器 编辑:程序博客网 时间:2024/05/17 02:10
#全角转半角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):    """把字符串全角转半角"""    rstring = ""    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)    return rstring


 

原创粉丝点击