0
votes

Comment puis-je faire que Python trouve ce mot sur une feuille Excel?

J'essaie de faire de Python Trouver un mot spécifique dans une feuille Excel. Néanmoins, malgré la recherche littéralement partout comment faire cela, je ne trouve pas de réponse. xxx

Ce code me donne le résultat suivant: xxx

replier

Néanmoins, je m'attends à un simple "oui" comme le mot "abc" est sur ma feuille Excel.


1 commentaires

Peut-être que ce fil est utile pour vous: Stackoverflow.com/Questtions/16888888/... Lisez le fichier Exel correctement et itérer sur ses cellules pour vérifier abc .


3 Réponses :


1
votes

Si vous utilisez Excel, puis-je suggérer d'utiliser 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


1 commentaires

Merci Sen, cela a parfaitement fonctionné! De plus, grâce à tous ceux qui ont suggéré de réponses, ils ont été très appréciés.



1
votes

Il peut y avoir une meilleure façon, mais celui-ci fait l'affaire. Dans le code ci-dessous une copie du fichier Excel est créé dans un format de texte, puis une liste est créée et vérifiée pour le "mot" dans le fichier. xxx


0 commentaires

0
votes
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")
Take a note you should limit the rows and cols in the for loop there is a vars minr and maxr

0 commentaires