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
希望有所帮助。