使用python查找和替换表中特定列中的字符

时间:2013-06-04 17:06:22

标签: python replace find

我有67个不同的表(有数十万行),有多列。一列名为PARCEL_ID。 PARCEL_ID字段包含“ - ”或空格或“/”等字符。我想从PARCEL_ID字段中的所有表中删除所有这些“ - ”,或空格或“/”等字符。夹。这些表是dbf文件。我想将“04-2N-07-00 00-0001-0000”之类的PARCEL_ID列值输入到“042N07000000010000”。基本上摆脱空的空间和破折号以及我不想要的任何其他角色。我如何使用python做到这一点?这就是我无法解决的问题:

import arcpy
import re
arcpy.env.workspace = r'C:\Workspace\PARCELS_2012\Nal_dbf_test'

fcs = arcpy.ListTables()

s = ['PARCEL_ID']

for fc in fcs:
    print "** Now working on "+fc
    fields = arcpy.ListFields(fc)
    for field in fields:
        if field.baseName in s:
            PARCEL_ID = re.sub(r'[-/ ]', '', PARCEL_ID)
            print "   Parcelno cleaned"
            if not field.baseName in s:
                print "   Already clean"
print fc + " is cleaned."

1 个答案:

答案 0 :(得分:0)

您可以使用regular expressions

import re
PARCEL_ID = re.sub(r'[-/ ]', '', PARCEL_ID)

在括号中添加您不想要的任何其他字符。