將Excel表格中的字段批量添加到矢量要素并將對應(yīng)內(nèi)容填寫到要素屬性表是可以使用Arcpy實現(xiàn)的。以下是一個簡單代碼,假設(shè)有一個包含字段和數(shù)據(jù)的Excel表格以及要進行批量添加的矢量要素圖層:
import arcpy
import xlrd
# 設(shè)置輸入數(shù)據(jù)路徑
excel_file = r"C:\data\attributes.xlsx" ?# 包含字段和數(shù)據(jù)的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)] for row_id in range(1, worksheet.nrows)]
# 添加字段到要素類
for field_name in field_names:
? ? arcpy.AddField_management(feature_class, field_name, "TEXT")
# 打開要素類的編輯會話
with arcpy.da.Editor(arcpy.env.workspace) as edit_session:
? ? # 更新要素類的屬性表
? ? with arcpy.da.UpdateCursor(feature_class, field_names) as cursor:
? ? ? ? for row_id, row in enumerate(cursor):
? ? ? ? ? ? if row_id < len(field_values):
? ? ? ? ? ? ? ? row = field_values[row_id]
? ? ? ? ? ? ? ? cursor.updateRow(row)
?
在上述代碼中,首先設(shè)置了輸入數(shù)據(jù)的路徑,即包含字段和數(shù)據(jù)的Excel表格和要進行批量添加的矢量要素圖層。然后,使用`xlrd`模塊打開Excel表格,并獲取字段名和值。接下來,通過`AddField_management`函數(shù)將字段逐個添加到要素類中。最后,使用`UpdateCursor`迭代要素類的每一行,并根據(jù)Excel表格中對應(yīng)的數(shù)據(jù)更新要素類的屬性表。文章來源:http://www.zghlxwxcb.cn/news/detail-499854.html
請注意,代碼中的路徑和文件名應(yīng)根據(jù)你自己的數(shù)據(jù)進行相應(yīng)修改。此外,字段類型設(shè)定為了"TEXT",如果你需要添加其他類型的字段(如整型、浮點型等),可以相應(yīng)修改`AddField_management`函數(shù)的第三個參數(shù)。另外,請確保Excel表格的字段名與要素類的字段名完全匹配。文章來源地址http://www.zghlxwxcb.cn/news/detail-499854.html
到了這里,關(guān)于arcpy基于excel中表格字段批量給矢量要素添加對應(yīng)字段的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!