3

在 Mac OSX Lion 上使用 Python 2.7xlrd

我的问题相对简单明了。我正在尝试将字符串与 excel 单元格值匹配,以确保该值将匹配到的行中的其他数据是正确的值。

因此,举例来说player = 'Andrea Bargnani',我想匹配如下所示的行:

 Draft      Player                        Team
 1      Andrea Bargnani -   Toronto Raptors 

我愿意:

 num_rows = draftSheet.nrows - 1
 cur_row = -1
 while cur_row < num_rows:
     cur_row += 1
     row = draftSheet.row(cur_row)
     if row[1] == player:
           ranking == row[0]

问题在于 is 的值row[1]text:u'Andrea Bargnani而不是 just Andrea Bargnani

我知道在 Excel 97 之后的 Excel 都是 unicode。但即使我这样做player = u'Andrea Bargnani'了,还是有前面的text:。所以我尝试player = 'text:'u'Andrea Bargnani'了,但是当变量被调用时,它最终看起来像u'text: Andrea Bargnani并且仍然没有产生匹配。

然后我想去掉test: u'返回row[1]值以获得适当的匹配。

4

1 回答 1

5

您需要value从单元格中获取一个。

我在 A1 单元格中创建了一个带有文本“Andrea Bargnani”的示例 excel 文件。cell这里的代码解释了打印和它之间的区别value

import xlrd


book = xlrd.open_workbook("input.xls")
sheet = book.sheet_by_index(0)

print sheet.cell(0, 0)  # prints text:u'Andrea Bargnani'
print sheet.cell(0, 0).value  # prints Andrea Bargnani

希望有帮助。

于 2013-06-17T17:13:26.300 回答