Python 2.7 - xlrd - 将字符串与单元格值匹配

DMM*_*MML 3 python unicode excel xlrd python-2.7

在Mac OSX Lion上使用Python 2.7 xlrd

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

所以,比如说player = 'Andrea Bargnani',我希望匹配一个看起来像这样的行:

 Draft      Player                        Team
 1      Andrea Bargnani -   Toronto Raptors 
Run Code Online (Sandbox Code Playgroud)

我做:

 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]
Run Code Online (Sandbox Code Playgroud)

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

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

我想删除test: u'返回的row[1]值以获得适当的匹配.

ale*_*cxe 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
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.