Как я могу заставить python найти это слово на листе Excel? - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь заставить python найти определенное слово в листе Excel. Тем не менее, несмотря на буквальный поиск везде, как это сделать, я не могу найти ответ.

import re

with open('ptry.xlsx') as aa:
    for line in aa:
        match = re.search(r'abc', line)
        if match:
            print("yes")
        else:
            print ("no")

Этот код дает мне следующий результат:

no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no

Repl Closed

Тем не менее, яожидая простого «да», так как слово «abc» находится на моем листе Excel.

Ответы [ 3 ]

1 голос
/ 22 октября 2019

Возможно, есть лучший способ, но этот делает свое дело. В приведенном ниже коде копия файла Excel создается в текстовом формате, а затем создается список и проверяется на наличие «слова» в файле.

import pandas as pd

df = pd.read_excel("ptry.xlsx")
df.to_csv("ptry.txt")

filex = open("ptry.txt", "r")
filex_string = filex.read()
filex_list = filex_string.split(",")

if "word" in filex_list:
    print("True")
else:
    print("false")
1 голос
/ 22 октября 2019

Если вы используете Excel, могу ли я предложить использовать Openpyxl?

import os
#Change to the dir of your spreadsheet

from openpyxl import load_workbook

wb = load_workbook(filename='Insert your file here', data_only=True)
#data_only=False by default
#If you want to see data instead of formulas, set data_only=True

ws = wb['Sheet1'] #Or whatever your sheet name is

for num_row in range (1, ws.max_row):
    if ws['A{}'.format(num_row)].value=='abc':
        print ('yes')
    else:
        print ('no')
#You can also use ws.max_column

Это должно дать вам общее представление об использовании openpyxl. Дайте мне знать, если у вас есть другие вопросы.

0 голосов
/ 22 октября 2019
import openpyxl

excel_var = openpyxl.load_workbook('excelname.xlsx')

sheet = excel_name.get_sheet_by_name('sheetname')

for row in sheet.iter_rows(min_row=minr, min_col=5, max_col=11, max_row=maxr):
    match = re.search(r'abc', line)
    if match:
        print("yes")
    else:
        print("no")

Обратите внимание, вы должны ограничить количество строк и столбцов в цикле for, где есть vars minr и maxr

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...