การลบมุมมองตารางในหน่วยความจำ?


13

ในสคริปต์ Python ฉันกำลังวนไปตามไฟล์ Excel หลายพันไฟล์และใช้ arcpy.MakeTableView เพื่อสร้างในมุมมองตารางหน่วยความจำจากสเปรดชีทแรกในแต่ละไฟล์ คุณจะลบการอ้างอิงไปยังมุมมองในหน่วยความจำได้อย่างไร? ฉันพยายามลบตัวแปรที่เก็บชื่อตาราง แต่ก็ไม่มีประโยชน์

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

## Process the table here

del tblView

เหตุผลในการลบการอ้างอิงคือในบางกรณีชื่อแผ่นงานจะถูกทำซ้ำในไฟล์ Excel หากมุมมองตารางถูกสร้างขึ้นด้วยชื่อ "Sheet1" คุณจะไม่สามารถสร้างมุมมองตารางอื่นที่มีชื่อเดียวกันได้ นอกจากนี้เนื่องจากจำนวนและขนาดของไฟล์ Excel ที่กำลังดำเนินการอยู่ฉันกังวลเกี่ยวกับผลกระทบต่อประสิทธิภาพหากมุมมองตารางเหล่านั้นทั้งหมดได้รับการสงวนไว้ตลอดอายุการใช้งานของสคริปต์


เช่นเดียวกับบันทึกย่อด้านข้างฉันสามารถกำหนดชื่ออื่นให้กับมุมมองตารางที่ไม่ได้ขึ้นอยู่กับชื่อชีตและวนลูปผ่านไฟล์โดยไม่มีข้อขัดแย้ง อย่างไรก็ตามฉันยังต้องการทราบวิธีการลบการอ้างอิงในหน่วยความจำ
Jeff Berry

คำตอบ:


15

เท่าที่เห็นในการลบชั้นคุณลักษณะโดยใช้สคริปต์ ArcPy? ฉันเชื่อว่าคุณควรใช้เครื่องมือลบเพื่อลบมุมมองตารางเมื่อสร้างแล้ว

arcpy.Delete_management(tblView)

ที่จริงฉันได้ดูคำถามนั้น แต่ไม่คิดว่ามันจะใช้ แต่หลังจากลองแล้วจะสามารถใช้งานได้จริงกับมุมมองตารางในหน่วยความจำ ควรลองก่อนโพสต์ ขอบคุณนาธาน
Jeff Berry

1

arcpy.env.overwriteOutput = True


1
สิ่งนี้จะเขียนทับตารางด้วยตารางใหม่เท่านั้นหากกระบวนการใหม่แสดงตารางที่ชื่อเดียวกัน มันจะไม่ลบตารางในหน่วยความจำโดยเฉพาะ
Devdatta Tengshe
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.