删除spotfire Data Table Iron python上的所有行

时间:2016-11-28 10:54:13

标签: python datatable ironpython tibco spotfire

我一直在寻找一种方法来删除 SPOTFIRE 上数据表中的行,而我找不到合适的方法。

我尝试编写脚本来执行此操作,但它太慢了,我有更多的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))

2 个答案:

答案 0 :(得分:8)

我找到了一种更简单的方法。

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

答案 1 :(得分:1)

这是从表中删除选定(标记)行的代码。

from Spotfire.Dxp.Data import RowSelection
DataTable = Document.Data.Tables['NodeCollection']
# selectedNodes - Name of the marking given in spotfire. 
SelectedRows = Document.Data.Markings['selectedNodes'].GetSelection(DataTable)
CollectionTable.RemoveRows(SelectedRows)