机器人框架Excel库"获取行值"

时间:2015-04-09 16:25:27

标签: robotframework

在Robot Framework中,我正在尝试使用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')

有没有解决方案?

1 个答案:

答案 0 :(得分: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')]