我的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:"
答案 0 :(得分:0)
我不是Python专家,但您似乎错误地使用了关键字in
。
您正在检查单元格值中是否存在数组,这不是您想要的。您想要查看数组中的任何项是否在单元格值中。
你可能正在寻找更像的东西:
if any(s in sheet.cell(row,column).value for s in notcopy):