-1

複数の列を持つ67の異なるテーブル(数十万行)があります。1 つの列の名前は PARCEL_ID です。PARCEL_ID フィールドには、"-"、スペース、"/" などの文字が含まれています。これらの "-"、空のスペース、または "/" などの文字をすべて、PARCEL_ID フィールドからすべてのテーブルから削除したいと考えています。フォルダ。テーブルは dbf ファイルです。この「042N07000000010000」に「04-2N-07-00 00-0001-0000」のようなPARCEL_ID列の値を取得したい。基本的に、空のスペースとダッシュ、およびそこに入れたくないその他の文字を取り除きます。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."
4

1 に答える 1

0

正規表現を使用できます:

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

括弧内に不要な文字を追加します。

于 2013-06-04T17:30:21.897 に答える