OpenPyXL - Проверьте, существует ли слово в серии слов в ячейке - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь автоматизировать некоторую работу, которая использует Excel, проверяя ячейки и, если определенные ключевые слова существуют, выдают другой результат.На данный момент я использую:

sheet = wb['Sheet1']

...

if sheet.cell(row=i, column=j).value in bl_list:
    print("value found")

Это работает, если ввод точно такой же, как в bl_list, т.е.яблоки в яблоках, но я хочу попытаться сделать его более динамичным, чтобы он мог искать в предложении и находить ключевые слова.то есть.Я хочу, чтобы 10 яблок вернули бы истину при наличии яблок и т. Д.

У меня есть набор bl_list, поскольку он работает быстрее, чем использование списка, хотя нет проблем с его изменением в соответствии с требованиями.

Заранее благодарим за любую помощь!

1 Ответ

0 голосов
/ 03 июня 2018

Если значение является строкой, вы можете использовать

for bl in bl_list:
    if sheet.cell(row=i, column=j).find(bl) != -1:
        print("value  {} found".format(bl))

В качестве альтернативы, это поиск любых общих элементов между разделенным значением ячейки и вашим набором

if len(list(set(sheet.cell(row=i, column=j).value.split(' ').intersection(bl_list))) > 0:
    print("value found")
...