Создать Инструмент на основе скрипта
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 19 янв 2021, 11:25
- Репутация: 1
- Откуда: Kazakhstan
Создать Инструмент на основе скрипта
У меня стоит задача сделать инструмент-скрипт, который будет создавать *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))
Вот не знаю как сделать экспорт.
Настройки окна скрипта ниже на картинке. Подскажите, пожалуйста что делать дальше.
-
- Участник
- Сообщения: 79
- Зарегистрирован: 01 май 2013, 22:38
- Репутация: 30
- Откуда: Сыктывкар
Re: Создать Инструмент на основе скрипта
Ainur Yerzhankyzy, попробуйте так:
Это автономный скрипт на питоне 2.7, который создаёт таблицу excel с перечнем и типом полей слоя test базы геоданных New Personal Geodatabase.gdb(mdb)
Это автономный скрипт на питоне 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') #сохраняем экселевски документ
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 19 янв 2021, 11:25
- Репутация: 1
- Откуда: Kazakhstan
Re: Создать Инструмент на основе скрипта
Здравсвуйте,
Скрипт работает, но задача такая чтобы пользователь не вставлял пути к БД, а выбирал пространственный объект в инструменте. Вот это моя главная проблема, не получается.
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 19 янв 2021, 11:25
- Репутация: 1
- Откуда: Kazakhstan
Re: Создать Инструмент на основе скрипта
Я немного исправила свой скрипт, с Вашими советами:
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')
и теперь всё работает, ураа!
Спасибо!
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')
и теперь всё работает, ураа!
Спасибо!
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей