Python不起作用,但未显示错误消息

时间:2019-06-25 07:02:11

标签: python excel openpyxl

我一般对编程/脚本都是陌生的,只是开始了解python工作原理。无论如何,我这里有一个我一直在努力的脚本,用于在包含excel文件文本的列中随机找到一个关键字,并在另一列中打印“ word word keyword word word”。这里的单词出现在给定的文本中。

import openpyxl

path5 = "C:\\Users\\AC48330\\Desktop\\my files\\FINAL.xlsx"
wb = openpyxl.load_workbook(path5)
Sheet = wb['Sheet']
y = "you"
for i, cellObj in enumerate(Sheet['AW'], 1):
    line = Sheet['AW']
    words = str(line).split()
if y in words:
    index = words.index(y)
    before = index - min(index, 2)
    after = index + min(len(words) - 1 - index, 2) + 1
    print((words[before:after]), Sheet['BB'])

wb.save('finale.xlsx')

如果这看似是一个愚蠢的问题,请原谅,但我毕竟是新手:(。当我运行上述脚本时,我没有收到任何输出,也没有收到错误消息,导致我不知道自己在做什么错!

1 个答案:

答案 0 :(得分:1)

在工作表列上使用enumerate,然后从循环中丢弃结果是很奇怪的。

要正确获取每个单元格的值:

for i, cellObj in enumerate(Sheet['AW'], 1):
    words = cellObj.value
    print (words)

然后,您可以继续进行if y in words检查每个单个单元格。

如果您真正想要的是获取AW列中所有单元格值的列表,请改用列表理解:

words = [cellObj.value for cellObj in Sheet["AW"]]
print (words)