Создать Инструмент на основе скрипта

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Ainur Yerzhankyzy
Новоприбывший
Сообщения: 12
Зарегистрирован: 19 янв 2021, 11:25
Репутация: 1
Откуда: Kazakhstan

Создать Инструмент на основе скрипта

Сообщение Ainur Yerzhankyzy » 26 янв 2021, 12:42

Python.png
Python.png (15.41 КБ) 2738 просмотров
Здравствуйте уважаемые коллеги, я новичок в программировании
У меня стоит задача сделать инструмент-скрипт, который будет создавать *csv или *.xls, в котором будет поле название полей (Field_name, Field_type).
Вот код, который я написала:

import arcpy
import os
arcpy.env.overwriteOutput = True
working_file = arcpy.GetParameterAsText(0)
Report_folder = arcpy.GetParameterAsText(1)
fields = arcpy.ListFields()

for field in fields:
print("{0} is a type of {1} with a length of {2}"
.format(field.name, field.type, field.length))
Вот не знаю как сделать экспорт.

Настройки окна скрипта ниже на картинке. Подскажите, пожалуйста что делать дальше.

Skywalker
Участник
Сообщения: 79
Зарегистрирован: 01 май 2013, 22:38
Репутация: 30
Откуда: Сыктывкар

Re: Создать Инструмент на основе скрипта

Сообщение Skywalker » 26 янв 2021, 15:07

Ainur Yerzhankyzy, попробуйте так:
Это автономный скрипт на питоне 2.7, который создаёт таблицу excel с перечнем и типом полей слоя test базы геоданных New Personal Geodatabase.gdb(mdb)

Код: Выделить всё

# -*- coding: utf-8 -*-
import xlwt
import arcpy

fgdb = 'New Personal Geodatabase.mdb'       #название и путь до базы геоданных

fields = arcpy.ListFields(fgdb+'/test')     #test - название класса (слоя) пространственных объектов

wb = xlwt.Workbook()                        #создаём документ excel
ws = wb.add_sheet('Test')                   #создаём лист


ws.write(0, 0, "Field")                     #шапка таблицы
ws.write(0, 1, "Type") 
row = 1

for field in fields:
    print field.name, field.length, field.type
    ws.write(row, 0, field.name) 
    ws.write(row, 1, field.type)
    row += 1

wb.save('excel.xls')                        #сохраняем экселевски документ

Ainur Yerzhankyzy
Новоприбывший
Сообщения: 12
Зарегистрирован: 19 янв 2021, 11:25
Репутация: 1
Откуда: Kazakhstan

Re: Создать Инструмент на основе скрипта

Сообщение Ainur Yerzhankyzy » 26 янв 2021, 18:27

Skywalker писал(а):
26 янв 2021, 15:07
Это автономный скрипт на питоне 2.7, который создаёт таблицу excel с перечнем и типом полей слоя test базы геоданных New Personal Geodatabase.gdb(mdb)
Здравсвуйте,
Скрипт работает, но задача такая чтобы пользователь не вставлял пути к БД, а выбирал пространственный объект в инструменте. Вот это моя главная проблема, не получается.

Ainur Yerzhankyzy
Новоприбывший
Сообщения: 12
Зарегистрирован: 19 янв 2021, 11:25
Репутация: 1
Откуда: Kazakhstan

Re: Создать Инструмент на основе скрипта

Сообщение Ainur Yerzhankyzy » 26 янв 2021, 20:13

Я немного исправила свой скрипт, с Вашими советами:

import arcpy
import os
import xlwt
arcpy.env.overwriteOutput = True
Dataset_name = arcpy.GetParameterAsText(0)
Report_folder = arcpy.GetParameterAsText(1)
fields = arcpy.ListFields(Dataset_name)
wb = xlwt.Workbook() #создаём документ excel
ws = wb.add_sheet('Test') #создаём лист


ws.write(0, 0, "Field") #шапка таблицы
ws.write(0, 1, "Type")
row = 1

for field in fields:
print field.name, field.length, field.type
ws.write(row, 0, field.name)
ws.write(row, 1, field.type)
row += 1

wb.save('excel.xls')

и теперь всё работает, ураа!
Спасибо!

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей