使用XLRD在Excel单元格中查找特定字符串

时间:2014-07-14 19:03:30

标签: excel python-2.7 xlrd

我的Excel文件包含一些特定值,其中一个单元格包含一般说明。有时在描述中存在一些具有某些关键字的警告消息(例如,高,低,增加,减少,关闭)。有没有办法在excel单元格中搜索这些特定单词(单词可能在一个句子中;例如意外的高音量)并获取单元格位置?

我尝试了以下代码,但没有工作。 (只是轻微更新,而不是知道单元格位置,我想复制没有警告消息关键字的文件)

import glob
import os
import shutil
import xlrd
os.chdir("C:/Users/tsengineer/Desktop/New folder/Trial")
choice = raw_input("Specify the Year to Copy (e.g. 2012) and Press Enter ")
location = raw_input("Specify the location to Copy (e.g. C:\Users\tsengineer\Desktop) and Press Enter ")
notcopy = ("increase", "decrease", "high", "low", "Closure")
for file in glob.glob("*.xls"):
    if choice in file:
        book = xlrd.open_workbook(file)
        sheet = book.sheet_by_index(0)
        for row in range(sheet.nrows):
            for column in range(sheet.ncols):
                if notcopy in sheet.cell(row,column).value:  
                    continue
                else:
                    shutil.copy(file, location)
print "Copying Complete:"

1 个答案:

答案 0 :(得分:0)

我不是Python专家,但您似乎错误地使用了关键字in

您正在检查单元格值中是否存在数组,这不是您想要的。您想要查看数组中的任何项是否在单元格值中。

你可能正在寻找更像的东西:

if any(s in sheet.cell(row,column).value for s in notcopy):