Tabelweergave in het geheugen verwijderen?

In een Python-script blader ik door duizenden Excel-bestanden en gebruik ik arcpy.MakeTableView om vanuit de eerste spreadshase in elk bestand in geheugenoverzichtsweergaven te maken. Hoe verwijder je de verwijzing naar de weergave in het geheugen? Ik heb geprobeerd de variabele die de tabelnaam opslaat te verwijderen, maar het mocht niet baten.

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

## Process the table here

del tblView

De reden voor het verwijderen van de verwijzing is dat in sommige gevallen de bladnamen in de Excel-bestanden worden gedupliceerd. Als een tabelweergave is gemaakt met de naam "Blad1", kunt u geen nieuwe tabelweergave met dezelfde naam maken. Als gevolg van het aantal en de grootte van de Excel-bestanden die worden verwerkt, ben ik bovendien bezorgd over de invloed op de prestaties als al deze tabelweergaven gedurende de levensduur van het script worden bewaard.

12
Net als een kanttekening, kan ik een andere naam toewijzen aan de tabelweergave die niet is gebaseerd op de bladnaam en de bestanden doorloopt zonder conflicten. Ik zou echter nog steeds graag willen weten hoe de referentie in het geheugen te verwijderen.
toegevoegd de auteur Joe, de bron

2 antwoord

Zoals te zien in Functielaag verwijderen met ArcPy-script? , moet u volgens mij de Hulpprogramma verwijderen om een ​​tabelweergave te verwijderen nadat deze is gemaakt.

arcpy.Delete_management(tblView)
14
toegevoegd
Ik had eigenlijk naar die vraag gekeken, maar dacht niet dat die van toepassing was. Maar na het geprobeerd te hebben, werkt het inderdaad op een in-memory tabelweergave. Had het moeten proberen voordat het werd gepost. Bedankt Nathanus.
toegevoegd de auteur Joe, de bron

arcpy.env.overwriteOutput = True

1
toegevoegd
Dit zou de tabel alleen overschrijven met een nieuwe, als het nieuwe proces een tabel met dezelfde naam uitvoert. Het zal een In-geheugen-tabel niet specifiek verwijderen.
toegevoegd de auteur Henrik, de bron