Suite

Comment exporter fclist et fccount vers csv

Comment exporter fclist et fccount vers csv


je cherche une méthode par laquelle je peux exporter la liste fc et le compte fc en xls ou csv. par exemple, j'ai 3 featureclass dans Scratch.gdb.

1.PaLakh

2.PATest1

3.Pointer

Je veux que les 3 noms de ces classes de fonctionnalités soient exportés dans un fichier csv ou xls. également le nombre d'entités de chaque classe d'entités par rapport au nom de la classe d'entités.

j'ai essayé le code mentionné ci-dessous, mais au lieu d'exporter fclist, il exporte chaque caractère de fc dans une nouvelle ligne comme.

p

o

je

m

t

importer csv, arcpy, os depuis arcpy importer env env.workspace = r"C:Akhil_Office_1PythonToolBoxScratchScratch.gdb" fclist = arcpy.ListFeatureClasses() pour fc dans fclist : csv_out = open(r'C :Akhil_Office_1PythonToolBoxScratch	est.csv', 'wb') mywriter = csv.writer(csv_out) rows = zip(arcpy.env.workspace, fc) mywriter.writerows(rows) csv_out.close()

ou existe-t-il un autre moyen dans arcpy d'exporter la liste des noms de classes d'entités dans xls ?


Je ne connais pas le module csv, mais vous pouvez utiliser leouvertcommande pour créer un fichier csv très bien. Ouvrez le fichier, puis parcourez vos classes d'entités. Obtenez le nombre, créez une chaîne avec une virgule séparant le nom et le nombre, puisécrivezdans votre fichier. Enfin, quand vous avez terminé,Fermerle fichier.

Quelque chose comme ça (non testé):

import arcpy arcpy.env.workspace = r"C:Akhil_Office_1PythonToolBoxScratchScratch.gdb" csv_out = open(r'C:Akhil_Office_1PythonToolBoxScratch	est.csv', 'w' ) #lister les classes d'entités fclist = arcpy.ListFeatureClasses() #itérer les classes d'entités pour fc dans fclist : #Get feature count fcCount = arcpy.GetCount_management (fc).getOutput (0) #create string to add to csv outStr = "{0 },{1}
".format (fc, fcCount) #écrire dans le fichier csv_out.write (outStr) #Fermer le fichier csv csv_out.close ()

j'ai amélioré le script et j'y ai ajouté la méthode arcpy.da.walk, afin qu'il puisse rechercher dans les sous-dossiers

toujours un problème persiste, si un fichier de formes contient de l'espace dans son nom, le script échoue. sinon ça marche bien.

import arcpy import os #prendre l'entrée de l'utilisateur arcpy.env.workspace = arcpy.GetParameterAsText(0) OutFolder = arcpy.GetParameterAsText(1) outStr = "{0}{1}".format(OutFolder, "FcCount.csv ") csv_out = open(outStr, 'w') #liste les classes d'entités avec la méthode arcpy.da.walk qui parcourent chaque sous-dossier feature_classes = [] pour dirpath, dirnames, les noms de fichiers dans arcpy.da.Walk(arcpy.env.workspace , datatype="FeatureClass") : pour le nom de fichier dans les noms de fichiers : feature_classes.append(os.path.join(dirpath, filename)) print feature_classes #itérer les classes d'entités et créer csv pour fc dans feature_classes : #Get feature count fcCount = arcpy. GetCount_management (fc).getOutput (0) #créer une chaîne à ajouter au csv outStr = "{0},{1}
".format (fc, fcCount) #écrire dans le fichier csv_out.write (outStr) #Fermer le fichier csv csv_out.close ()

Voir la vidéo: Comment Exporter Les Contacts Vcard VCF Vers CSV Excel