gpt4 book ai didi

ironpython - 使用列名切换我行中的第一组值 (IronPython)

转载 作者:行者123 更新时间:2023-12-02 00:51:33 27 4
gpt4 key购买 nike

所以我的数据表结构如下

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

我如何将我的列名称更改为值,所以如果我想将“ColumnName1”更改为“value1”,我将如何使用 ironpyton 脚本来实现。到目前为止我所知道的是如何遍历列名:

for col in Document.Data.Tables[myTable].Columns:

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

最佳答案

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

# Imports
from Spotfire.Dxp.Data import *

cursor1 = DataValueCursor.CreateFormatted(dataTable.Columns[0])
cursor2 = DataValueCursor.CreateFormatted(dataTable.Columns[1])
cursor3 = DataValueCursor.CreateFormatted(dataTable.Columns[2])

#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

在评论中编辑操作请求

# Imports
from Spotfire.Dxp.Data import *

cursors = []
nbcol = dataTable.Columns.Count

for x in range(nbcol):
cursors.append(DataValueCursor.CreateFormatted(dataTable.Columns[x]))


#iterate through table column rows to retrieve the value of the first line
values = []

for row in dataTable.GetRows(*cursors):
for x in range(nbcol):
values.append(cursors[x].CurrentValue)
break

oldColNames = []

for x in range(nbcol):
oldColNames.append(dataTable.Columns[x].Name)
dataTable.Columns[x].Name = values[x]

for row in dataTable.GetRows(*cursors):
for x in range(nbcol):
cursors[x].CurrentValue = oldColNames[x]
break

关于ironpython - 使用列名切换我行中的第一组值 (IronPython),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57210022/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com