1.ListDatasets:
摘要:列出工作空间中的所有数据集。可以针对数据集名称和数据集类型指定搜索条件,从而限制返回的列表。
说明:必须先设置工作空间环境,之后才能使用多个列表函数,这些列表函数包括 ListDatasets、ListFeatureClasses、ListFiles、ListRasters、ListTables 和 ListWorkspaces。
语法:
返回值:
ListFeatureClasses:
摘要:列出工作空间的要素类、受名称、要素类型和可选要素数据集的限制
说明:也是要先设置工作空间环境、之后才能使用多个列表函数、这些列表函数包括。
语法:
返回值:
代码示例:
ListFeatureClasses:
将shapefile复制到地理数据库中。
#将shapefile复制到地理数据库中
import os
import arcpy
# Set the workspace for ListFeatureClasses
arcpy.env.workspace = "c:/base"
# Use the ListFeatureClasses function to return a list of
# shapefiles.
featureclasses = arcpy.ListFeatureClasses()
# Copy shapefiles to a file geodatabase
for fc in featureclasses:
arcpy.CopyFeatures_management(
fc, os.path.join("c:/base/output.gdb",
os.path.splitext(fc)[0]))
示例二:列出地理数据库中所有的要素类,包括要素数据据中的所有要素类。
import arcpy
import os
arcpy.env.workspace = "c:/base/gdb.gdb"
datasets = arcpy.ListDatasets(feature_type='feature')
datasets = [''] + datasets if datasets is not None else []
for ds in datasets:#遍历要素数据集
for fc in arcpy.ListFeatureClasses(feature_dataset=ds):#从数据集中遍历要素类
path = os.path.join(arcpy.env.workspace, ds, fc)
print(path)
2.ListFields:列出指定数据集中的要素类,shapefile或表中的字段。返回的列表可用针对名称和字段类型的条件进行限制,并将包含字段对象。
语法:这里field可以理解为字段的意思。(只是自己的理解)
返回值:
#ListFields 示例
#列出字段属性。
import arcpy
# For each field in the Hospitals feature class, print
# the field name, type, and length.
fields = arcpy.ListFields("c:/data/municipal.gdb/hospitals")
for field in fields:
print("{0} is a type of {1} with a length of {2}"
.format(field.name, field.type, field.length))
#ListFields 示例 2
#生成字段名称列表。
import arcpy
featureclass = "c:/data/municipal.gdb/hospitals"
field_names = [f.name for f in arcpy.ListFields(featureclass)]
ListFiles:根据查询字符串返回当前工作空间中的文件列表。通过指定搜索条件可以限制结果。
说明:还是需要先设置工工作空间。
语法:
返回值:
代码示例:
将CSV文件列表复制到dBASE格式。
import os
import arcpy
arcpy.env.workspace = "c:/temp"
# Copy each file with a .csv extension to a dBASE file
for csv_file in arcpy.ListFiles("*.csv"):
# Use splitext to set the output table name
dbase_file = os.path.splitext(csv_file)[0] + ".dbf"
arcpy.CopyRows_management(csv_file, dbase_file)
ListIndex:列出指定数据集中的要素类,shapefile或表中的索引。返回的列表可以使用针对索引名称的搜索条件进行限制,并将包含索引对象。
语法:
返回值:
代码示例:
列出索引属性。
import arcpy
featureclass = "E:\\remotesensingmap\\cd_newmap\\Water.shp"
# Get list of indexes for roads.shp and print properties
indexes = arcpy.ListIndexes(featureclass)
for index in indexes:
print("Name : {0}".format(index.name))
print("IsAscending : {0}".format(index.isAscending))
print("IsUnique : {0}".format(index.isUnique))
ListRasters:按照名称和栅格类型返回工作空间中的栅格列表。
说明:此函数需要先设置工作空间。
语法:
返回值:
ListRasters示例
#列出工作空间中的TIF栅格名称
import arcpy
arcpy.env.workspace = "C:\\Users\\14158\\Documents\\ArcGIS"
rasters = arcpy.ListRaster("*","TIF")
for raster in rasters:
print(raster)
ListTables:按名称和表类型列出工作空间中的表。
说明:需要先设置工作空间。
语法:
返回值:
代码示例:
ListTables示例:
#列出工作空间中的所有表
import arcpy
arcpy.env.workspace = "E:\\GFGIS"
Tables = arcpy.ListTables()
for Table in Tables:
print(Table)