2016-11-28 41 views
1

我正在尋找一種方法來刪除我的數據表中的行SPOTFIRE並且我沒有找到正確的方法來執行此操作。刪除spotfire數據表上的所有行Iron python

我想編寫一個腳本來做到這一點,但它的速度太慢,我有更多的20K行被刪除。

是否有人有一個想法,爲什麼它的速度太慢,如果有另一種方法做(更快的方法)

from Spotfire.Dxp.Data import RowSelection 
table=Document.Data.Tables["my Table name"] 
i=0 
for row in table.GetRows(): 
    i+=1 
    rowToDelete=Document.Data.Tables["my Table name"].Select("[index]="+`i`).AsIndexSet() 
    Document.Data.Tables["my Table name"].RemoveRows(RowSelection(rowToDelete)) 
+0

什麼是你的使用情況?你爲什麼試圖從數據表中刪除? – niko

+0

我在Spotfire中嵌入了多個dataTable,以及基於Embeded DataTable的Global DataTable。 我需要從一個數據表中刪除數據,所以我可以在Global DataTable上進行刷新,而無需重新創建全局DataTable並插入臨時表中的所有行。 – Ayyoub

回答

2

我找到了一種方法是更簡單的事了。

from Spotfire.Dxp.Data import RowSelection, IndexSet 
dtTarget = Document.Data.Tables["my Table name"] 
dtTarget.RemoveRows(RowSelection(IndexSet(dtTarget.RowCount,True)))