arcpy基于excel中表格字段批量给矢量要素添加对应字段

news/2024/7/21 7:32:18 标签: excel

将Excel表格中的字段批量添加到矢量要素并将对应内容填写到要素属性表是可以使用Arcpy实现的。以下是一个简单代码,假设有一个包含字段和数据的Excel表格以及要进行批量添加的矢量要素图层:
import arcpy
import xlrd

# 设置输入数据路径
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)] 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)
 

在上述代码中,首先设置了输入数据的路径,即包含字段和数据的Excel表格和要进行批量添加的矢量要素图层。然后,使用`xlrd`模块打开Excel表格,并获取字段名和值。接下来,通过`AddField_management`函数将字段逐个添加到要素类中。最后,使用`UpdateCursor`迭代要素类的每一行,并根据Excel表格中对应的数据更新要素类的属性表。

请注意,代码中的路径和文件名应根据你自己的数据进行相应修改。此外,字段类型设定为了"TEXT",如果你需要添加其他类型的字段(如整型、浮点型等),可以相应修改`AddField_management`函数的第三个参数。另外,请确保Excel表格的字段名与要素类的字段名完全匹配。


http://www.niftyadmin.cn/n/444316.html

相关文章

什么是EBNF?并举例介绍

EBNF&#xff08;Extended Backus-Naur Form&#xff09;是一种扩展的Backus-Naur形式&#xff0c;是一种用于描述上下文无关文法&#xff08;CFG&#xff09;的元语言。 EBNF用于定义编程语言、数据格式和其他形式的语法。它使用一些扩展的符号来描述语法规则&#xff0c;包括…

chatgpt赋能python:Python中如何选取list13列

Python中如何选取list 1 3列 介绍 对于SEO优化来说&#xff0c;选取适当的数据是至关重要的一步。Python是一门强大的编程语言&#xff0c;可以帮助人们快速而准确地处理数据&#xff0c;进而选择最佳数据进行SEO。在Python中&#xff0c;我们可以使用一些简单的方法来选择li…

MIFARE - 1

2一般说明 飞利浦根据ISO/IEC 14443A开发了用于非接触式智能卡的MIFAREMF1 IC S50。通信层&#xff08;MIFARERF接口&#xff09;符合ISO/IEC 14443A标准的第2部分和第3部分。安全层采用经过现场验证的CRYPTO1流密码&#xff0c;用于MIFAREClassic系列的安全数据交换。 MIFARE…

SQL语言的四大组成部分——DCL(数据控制语言)

1️⃣前言 SQL语言中的DCL&#xff08;Data Control Language&#xff09;是一组用于控制数据库用户访问权限的语言&#xff0c;主要包括GRANT、REVOKE、DENY等关键字。 文章目录 1️⃣前言2️⃣DCL语言3️⃣GRANT关键字4️⃣REVOKE关键字5️⃣DENY关键字6️⃣总结附&#xff1…

记一次gitlab应急响应

为方便您的阅读&#xff0c;可点击下方蓝色字体&#xff0c;进行跳转↓↓↓ 01 事件背景介绍02 事件分析过程03 事件分析结果04 安全加固建议 01 事件背景介绍 某内部应急演练中&#xff0c;态势感知平台上出现gitlab RCE漏洞攻击成功告警&#xff0c;现需根据流量情况进行安全…

【Android复习笔记】Retrofit核心原理

Retrofit 使用方法简介 1. 创建一个 interface 作为 Web Service 的请求集合,在里面用注解(Annotation)写入需要配置的请求方法 public interface GitHubService {@GET("users/{user}/repos")Call<List<Repo>> listRepos(@Path(

R语言获取最新气象气温数据

要在R语言中获取最新的气象气温数据&#xff0c;并将其在研究区内进行可视化&#xff0c;可以按照以下步骤操作&#xff1a; 1. 获取气象气温数据&#xff1a; 可以使用R中的各种包和函数来获取气温数据。一种常用的方法是使用rvest包和网页爬虫技术从相关的气象网站上抓取…

PHP 课后习题解析与笔记——流程控制语句习题

文章目录 &#x1f4cb;前言&#x1f3af;题目一&#x1f3af;题目二&#x1f3af;知识点回顾&#x1f9e9;if...else&#x1f9e9;switch&#x1f9e9;while&#x1f9e9;do...while&#x1f9e9;for&#x1f9e9;foreach &#x1f4dd;最后 &#x1f4cb;前言 这篇文章记录一…