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

2024-05-15 10:39:04 发布

您现在位置:Python中文网/ 问答频道 /正文

在Mac OSX Lion上使用Python 2.7与xlrd

我的问题相对简单明了。我正在尝试将字符串与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,在Excel 97之后,都是unicode。但即使我做了player = u'Andrea Bargnani',仍然有前面的text:。所以我尝试了player = 'text:'u'Andrea Bargnani',但是当变量被调用时,它看起来像u'text: Andrea Bargnani,仍然不产生匹配。

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


Tags: 字符串textmacexcelnumrowsrowplayer
1条回答
网友
1楼 · 发布于 2024-05-15 10:39:04

你需要从细胞中得到一个value

我创建了一个示例excel文件,在A1单元格中有一个文本“Andrea Bargnani”。这里的代码解释了打印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

希望能有所帮助。

相关问题 更多 >