Страница 1 из 1
Запись в таблицу
Добавлено: 26 ноя 2014, 21:30
Kat
Здравствуйте,подскажите что делать?
Есть скрипт на питоне. При запуске в ArcGis данные записываются в атрибутивную таблицу в первую строку. При повторном запуске - данные записываются опять в первую строку,а необходимо во вторую и так далее.
Re: Запись в таблицу
Добавлено: 27 ноя 2014, 01:14
doujin
А текст скрипта мы должны сами угадать?
Re: Запись в таблицу
Добавлено: 27 ноя 2014, 02:52
Kat
[code
Re: Запись в таблицу
Добавлено: 27 ноя 2014, 04:32
doujin
Используйте
Insert Cursor вместо
Update Cursor.
Re: Запись в таблицу
Добавлено: 27 ноя 2014, 15:59
Kat
InsertCursor,как я поняла вставляет новые строки в таблицу. У меня уже в созданной таблице есть 12 строк,изначально они пусты,и вот их по очереди необходимо заполнить.
И попробовав использовать InsertCursor,скрипт не запускается - выдает ошибку.
Re: Запись в таблицу
Добавлено: 28 ноя 2014, 01:37
doujin
Заполнить 12 строк 12 раз запуская скрипт? Или после одного запуска должны заполниться все 12 строк?
Что я сейчас вижу из вашего кода: вы вводите 6 каких-то числовых параметров и 3 каких-то выходных файла (полагаю это таблицы). Потом вы открываете первую таблицу, переходите в первую строку и пишете в поле "C" какое-то рассчитанное значение. Далее, вы открываете вторую таблицу, уже в ней переходите в первую строку и пишете в поле "Xm" рассчитанное значение. И наконец, вы открываете третью таблицу и, перейдя в ней в первую строку, пишете в поле рассчитанное значение "m". И все. Выполнение скрипта на этом заканчивается. Вы видите, что сколько бы раз скрипт не запускался, он дальше первой строки таблиц не уходит?
На мой взгляд это какой-то "поломанный" сценарий и то, что вы реально пытаетесь сделать вызывает массу вопросов. По крайней мере у меня... Но первые два я уже задал в начале сообщения. Хотя есть еще один: почему надо заполнять именно существующие строки таблиц, если их значения никак не используются, а все вводит пользователь?
P.S. InsertCursor подразумевает не просто замену одного оператора, там немного больше строк кода надо изменить. Посмотрите внимательно пример из документации.
P.S.S. Простите за (может быть) резкую и категоричную окраску моего сообщения, но мне кажется вы, в первую очередь, не до конца понимаете, что хотите сделать, и из-за этого не понимаете, как именно это сделать.