Arcpy は、Excel のテーブル フィールドに基づいて、対応するフィールドをベクター要素にバッチで追加します。

Arcpy を使用して、Excel テーブルのフィールドをベクター要素にバッチで追加し、対応するコンテンツを要素の属性テーブルに入力することができます。以下は、フィールドとデータを含む Excel テーブルとベクター フィーチャ レイヤーがバッチで追加されることを想定した簡単なコード
です

# 入力データ パスを設定します
Excel_file = r"C:\data\attributes.xlsx" # フィールドとデータを含む Excel テーブル
feature_class = r"C:\data\features.shp" # バッチで追加されるベクター フィーチャ レイヤー

# 打开Excel表格
workbook = xlrd.open_workbook(excel_file)
worksheet = workbook.sheet_by_index(0)

# Excel テーブルのフィールド名と値を取得します
field_names = [str(cell.value) for cell in worksheet.row(0)]
field_values = [[str(cell.value) for cell in worksheet.row(row_id)] )] range(1, worksheet.nrows) の row_id 用]


# field_names の field_name のフィーチャクラスにフィールドを追加します:
    arcpy.AddField_management(feature_class, field_name, "TEXT")

# arcpy.da.Editor(arcpy.env.workspace) を edit_session として使用してフィーチャクラスの編集セッションを開きます
: #     arcpy.da.UpdateCursor(feature_class, field_names) をカーソルとして使用してフィーチャクラス
    の属性テーブルを更新します:         for row_id 、列挙内の行 (カーソル):             row_id < len(field_values) の場合:                 row = field_values[row_id]                 cursor.updateRow(row)





 

上記のコードでは、入力データのパス、つまりフィールドとデータを含む Excel テーブルと、バッチで追加されるベクター フィーチャ レイヤーが最初に設定されます。次に、`xlrd` モジュールを使用して Excel シートを開き、フィールド名と値を取得します。次に、「AddField_management」関数を使用してフィールドが 1 つずつフィーチャクラスに追加されます。最後に、「UpdateCursor」を使用してフィーチャクラスの各行を反復処理し、Excel シート内の対応するデータに従ってフィーチャクラスの属性テーブルを更新します。

コード内のパスとファイル名は、独自のデータに応じて変更する必要があることに注意してください。さらに、フィールド タイプは "TEXT" に設定されています。他のタイプのフィールド (整数、浮動小数点など) を追加する必要がある場合は、それに応じて `AddField_management` 関数の 3 番目のパラメータを変更できます。また、Excel シートのフィールド名がフィーチャクラスのフィールド名と正確に一致していることを確認してください。

おすすめ

転載: blog.csdn.net/weixin_58851039/article/details/131240263
おすすめ