Python 使用arcpy将listlayers转换为列表。(arcpro蟒蛇3)
如何将lyr变量转换为列表?变量类型列为类“arcpy.\u mp.Layer”。我应该将其转换为字符串,然后插入列表中吗Python 使用arcpy将listlayers转换为列表。(arcpro蟒蛇3),python,list,arcgis,arcpy,Python,List,Arcgis,Arcpy,如何将lyr变量转换为列表?变量类型列为类“arcpy.\u mp.Layer”。我应该将其转换为字符串,然后插入列表中吗 import arcpy aprx = arcpy.mp.ArcGISProject("./test.aprx") for m in aprx.listMaps(): for lyr in m.listLayers(): print (lyr) output layer1 layer2 layer3 desired output ['layer1
import arcpy
aprx = arcpy.mp.ArcGISProject("./test.aprx")
for m in aprx.listMaps():
for lyr in m.listLayers():
print (lyr)
output
layer1
layer2
layer3
desired output
['layer1', 'layer2', 'layer3']
例:2
这似乎也没有进入列表中。m.listLayers()
已经返回类型为的图层对象列表。您只需要构建一个图层名称列表。以下是如何做到这一点:
import arcpy
aprx = arcpy.mp.ArcGISProject("./test.aprx")
map_layers = [] # list of lists where each sublist contains layer names for each map in project
for m in aprx.listMaps():
lyr_names = [] # initialize an empty list and append layer names to it in every iteration
for lyr in m.listLayers():
lyr_names.append(lyr.name)
map_layers.append(lyr_names)
print(map_layers)
因此,如果您的项目有两个贴图,其中每个贴图都有3个图层,则上面的代码段将打印结果如下:
[['Map 1 Layer 1 Name', 'Map 1 Layer 2 Name', 'Map 1 Layer 3 Name'],
['Map 2 Layer 1 Name', 'Map 2 Layer 2 Name', 'Map 2 Layer 3 Name']]
[['Map 1 Layer 1 Name', 'Map 1 Layer 2 Name', 'Map 1 Layer 3 Name'],
['Map 2 Layer 1 Name', 'Map 2 Layer 2 Name', 'Map 2 Layer 3 Name']]