In-Memory-Tabellenansicht löschen?

13

In einem Python-Skript gehe ich Tausende von Excel-Dateien durch und erstelle mit arcpy.MakeTableView im Speicher Tabellenansichten ab dem ersten Arbeitsschritt in jeder Datei. Wie löscht man den Verweis auf die In-Memory-Ansicht? Ich habe versucht, die Variable zu löschen, in der der Tabellenname gespeichert ist, aber ohne Erfolg.

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

## Process the table here

del tblView

Der Grund für das Löschen der Referenz ist, dass in einigen Fällen die Blattnamen in den Excel-Dateien dupliziert werden. Wenn eine Tabellenansicht mit dem Namen "Sheet1" erstellt wurde, können Sie keine weitere Tabellenansicht mit demselben Namen erstellen. Aufgrund der Anzahl und Größe der zu verarbeitenden Excel-Dateien bin ich außerdem besorgt über die Auswirkungen auf die Leistung, wenn alle diese Tabellenansichten während der gesamten Lebensdauer des Skripts beibehalten werden.

Jeff Berry
quelle
Nur als Randnotiz kann ich der Tabellenansicht einen anderen Namen zuweisen, der nicht auf dem Blattnamen basiert, und die Dateien ohne Konflikte durchlaufen. Ich möchte jedoch weiterhin wissen, wie die speicherinterne Referenz gelöscht werden kann.
Jeff Berry

Antworten:

15

Wie in Entfernen des Feature-Layers mit ArcPy-Skript dargestellt? Ich glaube, Sie sollten das Löschtool verwenden , um eine Tabellenansicht zu entfernen, sobald sie erstellt wurde.

arcpy.Delete_management(tblView)
Nathanus
quelle
Ich hatte mir diese Frage tatsächlich angeschaut, dachte aber nicht, dass sie zutrifft. Aber nachdem Sie es ausprobiert haben, funktioniert es tatsächlich in einer In-Memory-Tabellenansicht. Hätte es vor dem Posten probieren sollen. Danke Nathanus.
Jeff Berry
1

arcpy.env.overwriteOutput = Wahr

Steve
quelle
1
Dies würde die Tabelle nur dann mit einer neuen überschreiben, wenn der neue Prozess eine gleichnamige Tabelle ausgibt. Eine speicherinterne Tabelle wird nicht speziell gelöscht.
Devdatta Tengshe