不久前,我编写了一个快速的Python函数,用于将属性表转换为python字典,其中的键来自用户指定的唯一ID字段(通常是OID字段)。另外,默认情况下,所有字段都复制到字典中,但是我包含了一个参数,只允许指定一个子集。 def make_attribute_dict(fc, key_field, attr_list=['*']): dict = {} fc_field_objects = arcpy.ListFields(fc) fc_fields = [field.name for field in fc_field_objects if field.type != 'Geometry'] if attr_list == ['*']: valid_fields = fc_fields else: valid_fields = [field for field in attr_list if field in fc_fields] if key_field not in valid_fields: cursor_fields = valid_fields + …
我知道您可以在字段计算器中使用通配符(在字段计算器中): case when "column" ILIKE '%example%' then 1 else 0 end 您可以为列标题本身做类似的事情吗? 我之所以这样问,是因为我要联接多个图层(使用Joins属性),这将使我更容易编辑一组过滤器,而不是编辑多个过滤器,因为列名必须包含联接的图层名称。 我正在使用QGIS 2.2。