用列名切换行中的第一组值(IronPython)

时间:2019-07-25 20:57:57

标签: ironpython spotfire

所以我的数据表的结构类似于

    '-' to –

如何将列名更改为值,因此,如果我想将“ ColumnName1”更改为“ value1”,我将如何使用 ironpyton 脚本执行此操作。到目前为止,我所知道的是如何遍历列名:

ColumnName1 | ColumnName2 | ColumnName3
------------|-------------|------------
value1      |value2       |value2

但是我不确定如何切换数据。然后删除第1行。

1 个答案:

答案 0 :(得分:0)

输入dataTable作为数据表参数。首先,让我们获取新的列名称:

# Imports
from Spotfire.Dxp.Data import *

cursor1 = DataValueCursor.CreateFormatted(dataTable.Columns["ColumnName1"])
cursor2 = DataValueCursor.CreateFormatted(dataTable.Columns["ColumnName2"])
cursor3 = DataValueCursor.CreateFormatted(dataTable.Columns["ColumnName3"])

#iterate through table column rows to retrieve the value of the first line
for row in dataTable.GetRows(cursor1,cursor2,cursor3):
    value1 = cursor1.CurrentValue
    value2 = cursor2.CurrentValue
    value3 = cursor3.CurrentValue
    break

然后检索当前列名,并用新列名替换它们:

oldColName1 = dataTable.Columns[0].Name
oldColName2 = dataTable.Columns[1].Name
oldColName3 = dataTable.Columns[2].Name
dataTable.Columns[0].Name = value1
dataTable.Columns[1].Name = value2
dataTable.Columns[2].Name = value3

现在让我们用旧的列名替换值(如果不需要此功能,可以删除此部分)

for row in dataTable.GetRows(cursor1,cursor2,cursor3):
    cursor1.CurrentValue = oldColName1
    cursor2.CurrentValue = oldColName2
    cursor3.CurrentValue = oldColName3
    break