【问题标题】:How to convert a tuple in robot framework into list如何将机器人框架中的元组转换为列表
【发布时间】:2016-09-13 18:45:33
【问题描述】:

执行mysql查询后,在robot框架中以元组的形式得到结果。

为了进行进一步的操作,我需要将该元组转换为列表。

例如:

@{id}=    Query    select column1 from table_name where column2 = '${var1}' and column = '${var2}'

这里 @{id} 将作为元组返回。

前:

( (1), (4) )

现在我需要将上面的元组转换为如下列表:

[ 1, 4 ]

【问题讨论】:

  • 你确定@{id} 是一个元组吗?当我运行返回元组的 python 代码时,@{id} 是一个列表。
  • @BryanOakley DB API 规范指定了一系列序列,因此类型可能因实现 API 而异。 MySQLdb 返回问题中的元组。
  • 那么,您真正要问的是将元组列表(或元组)转换为单个列表?你展示的看起来不像一个有效的元组元组——(1) 不是一个 python 元组(它似乎缺少一个逗号)。你确定你的数据是这样的吗?

标签: robotframework


【解决方案1】:

如果您只有一个元组,您可以使用转换为列表或创建列表。但是在这里你有一个元组的元组。我认为从列中提取值并创建列表的最干净的方法如下:

${column 1}    Evaluate    [x[0] for x in $id]

如果您的查询有第二列,您可以类似地提取它:

${column 2}    Evaluate    [x[1] for x in $id]

【讨论】:

  • 我能够将元组转换为列表。 : ${var}= Evaluate [x[-1] for x in $id] 提取上面列表中的最后一个元素 : Log ${var[-1]}
猜你喜欢
  • 2020-06-28
  • 2020-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-05
  • 1970-01-01
  • 2016-10-30
  • 2021-06-23
相关资源
最近更新 更多