18 votos

Obtener los nombres de los campos de los ficheros de forma usando GDAL

Utilizo GDAL en Python para importar shapefile. Quiero saber los nombres de campo para el archivo, mi forma actual es:

fields = []
for i in range(1, layer.GetFeature(0).GetFieldCount()):
    field = layer.GetFeature(0).GetDefnRef().GetFieldDefn(i).GetName()
    fields.append(field)

Pero de esta manera, obtendré la función para la primera capa. ¿Significa que es posible que diferentes capas puedan tener diferentes características?

Si no es así, ¿es posible obtener los nombres de campo a la vez, en lugar de entrar en esta profundidad? En caso afirmativo, ¿hay alguna forma más fácil de obtener los nombres de campo?

15voto

tranjeeshan Puntos 228

Uso:

from osgeo import ogr

ds = ogr.Open("file.shp")
lyr = ds.GetLayer()

field_names = [field.name for field in lyr.schema]
print(field_names)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X