Python не работает, но не выдает сообщение об ошибке - PullRequest
0 голосов
/ 25 июня 2019

Я новичок в программировании / написании сценариев в целом и только начинаю понимать основы работы Python.В любом случае, у меня есть скрипт, над которым я работаю, чтобы случайно найти ключевое слово в столбце, содержащем текст файла Excel, и напечатать «слово слово ключевое слово слово слово» в другом столбце.Здесь слова присутствуют в данном тексте.

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 Ответ

1 голос
/ 26 июня 2019

Довольно странно, что вы используете 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)
...