2016-11-28 7 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이 있습니다. 하나의 데이터 테이블에서 데이터를 삭제해야하므로 전역 DataTable을 다시 작성하지 않고 전역 데이터 테이블을 새로 고치고 temps 테이블의 모든 행을 삽입 할 수 있습니다. – Ayyoub

답변

2

(빠른 방법)을 할 수있는 또 다른 방법이 있는지.

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