Последовательные запросы Python: автоматизация обработки данных в ArcMap - PullRequest
0 голосов
/ 05 марта 2019

мои навыки Python очень ограничены (ни одного), и я никогда не создавал автоматический последовательный запрос для ArcMap.Ниже приведены шаги, которые я хотел бы кодировать, и мы будем благодарны за любые советы.

  1. Найти папку с файлами
  2. Импортировать «первый» файл (таблица csv) (более 500 cvs)соглашение о присвоении имен не является последовательным)
  3. Присоединить CSV к шейп-файлу HUC08
  4. Выбрать данные без нулевых значений в имени поля «Имя»
  5. Сохранить выбранные данные как слойфайл в моем FoTX.gdb
  6. Перейти к следующему файлу в папке и выполнять то же действие, пока все действия не будут завершены.

1 Ответ

0 голосов
/ 14 марта 2019
#Part of the code. The rest depends mostly on your data
#Set environment settings
arcpy.env.workspace = 'C:/data' #whatever it is for you. you can do this or not


import os, arcpy, csv

   mxd = arcpy.mapping.MapDocument("CURRENT")
   folderPath=os.path.dirname(mxd.filePath)

   #Loop through each csv file
    count = 0

    for f_name in os.listdir(folderPath):
      fullpath = os.path.join(folderPath, f_name)
      if os.path.isfile(fullpath):
       if f_name.lower().endswith(".csv"):
             #import csv file and join to shape file code here

             # Set local variables
             in_features = ['SomeNAME.shp', 'SomeOtherNAME.shp'] # if there are more 
                                                                 #then one
             out_location = 'C:/output/FoTX.gdb'
             # out_location =os.path.basename(gdb.filePath) #or if the gdb is in the 
                                                            #same folder as the csv 
                                                            #files

             # Execute FeatureClassToGeodatabase
             arcpy.FeatureClassToGeodatabase_conversion(in_features, out_location)

    if count ==0:
      print "No CSV files in this folder"
...