【问题标题】:Robot framework Excel Library "Get Row Values"机器人框架 Excel 库“获取行值”
【发布时间】:2015-06-15 03:21:42
【问题描述】:

在机器人框架中,我正在尝试使用 excel 库从 excel 表中获取值。我观察到“获取行值”关键字的以下问题

Open Excel    E:/Robot/excel/Test.xls
@{Datas}=    Get Row Values    Sheet1    0    includeEmptyCells=False
Log to console    ${Datas}

如果列中的数据是从 A1 到 Z1,则 ${Datas} 中的值会正确更新,我再次使用这些值 ${Datas} 将其转换为 List 并从表。

但是现在当它超过 Z1 时,即 A1,B1,...,Z1,AA1,AB1,AC1.. ${Datas} 不会在工作表中生成相同的。其存储如下

    [('A1', u'Valli'), ('AA1', u'sdffgdg'), ('AB1', u'k'), ('AC1', u'h'),('AD1', u'jk'), ('AE1', u'j'), ('AF1', u";\\'"), ('AG1', u'jk'), ('AH1', u'j'), ('AI1', u'Kasthurikala')........]

我希望值与 excel 中的值相同,而不是按字母顺序 [('A1','Value1'),('B1','value1'), ('Z1','ValueZ'),(' AA1','ValueAA1')

有什么解决办法吗?

【问题讨论】:

  • 您是说要按工作表顺序而不是按字母顺序排列值吗?
  • @Bryan:是的,我希望值的顺序与工作表中的相同。

标签: robotframework


【解决方案1】:

您可以按第二个元素的长度进行排序,并与第一个元素断绝关系:

a = [('B1','value1'), ('Z1','ValueZ'),('AA1','ValueAA1'),('A1','Value1')]
a.sort(key=lambda x: (len(x[1]),x[0]))
print(a)
[('A1', 'Value1'), ('B1', 'value1'), ('Z1', 'ValueZ'), ('AA1', 'ValueAA1')]

【讨论】:

    猜你喜欢
    • 2020-10-29
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 2023-04-01
    • 2017-07-23
    • 2021-06-10
    • 1970-01-01
    • 2017-04-01
    相关资源
    最近更新 更多