Удаление табличного представления в памяти?


13

В скрипте Python я перебираю тысячи файлов Excel и использую arcpy.MakeTableView для создания в памяти табличных представлений из первой таблицы в каждом файле. Как удалить ссылку на представление в памяти? Я пытался удалить переменную, которая хранит имя таблицы, но безрезультатно.

tblView = sheetName
arcpy.MakeTableView_management(excelSheet, tblView, .....)

## Process the table here

del tblView

Причиной удаления ссылки является то, что в некоторых случаях имена листов дублируются в файлах Excel. Если табличное представление было создано с именем «Лист1», вы не можете создать другое табличное представление с тем же именем. Кроме того, из-за количества и размера обрабатываемых файлов Excel меня беспокоит влияние на производительность, если все эти табличные представления сохраняются в течение всего срока действия сценария.


Как примечание, я могу назначить другое имя для табличного представления, которое не основано на имени листа, и циклически проходить по файлам без конфликтов. Тем не менее, я все еще хотел бы знать, как удалить ссылку в памяти.
Джефф Берри

Ответы:


15

Как видно в разделе Удаление векторного слоя с помощью скрипта ArcPy? Я считаю, что вы должны использовать инструмент удаления, чтобы удалить табличное представление после его создания.

arcpy.Delete_management(tblView)

Я действительно смотрел на этот вопрос, но не думал, что он применим. Но после попытки он действительно работает с табличным представлением в памяти. Надо было попробовать перед публикацией. Спасибо Натанус.
Джефф Берри

1

arcpy.env.overwriteOutput = True


1
Это перезапишет таблицу только новой, если новый процесс выведет таблицу с тем же именем. Он не удалит таблицу In-memory специально.
Девдатта Тенгше
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.