Python 2.7 – xlrd – 将string匹配到单元格值

在Mac OSX Lion上使用Python 2.7和xlrd

我的问题相对简单直接。 我试图将一个string匹配到一个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] 

问题是, row[1]的价值是text:u'Andrea Bargnani ,而不仅仅是Andrea Bargnani

我知道,在Excel 97之后的Excel,全是unicode。 但是,即使我做了player = u'Andrea Bargnani'仍然有前面的text: 。 所以我尝试了一下player = 'text:'u'Andrea Bargnani' ,但是当这个variables被调用的时候,结果看起来像u'text: Andrea Bargnani并且不会产生匹配。

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

你需要从单元中获得一个value

我在A1单元格中创build了一个带有文本“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 

希望有所帮助。