99 votes

Comment ouvrir un fichier Excel en Python ?

Comment ouvrir un fichier Excel à lire en Python ?

J'ai ouvert des fichiers texte, par exemple, sometextfile.txt avec la commande de lecture. Comment faire pour un fichier Excel ?

34voto

Jon Cage Points 14126

Essayez la xlrd bibliothèque.

[Modifier] - d'après ce que je peux voir dans votre commentaire, quelque chose comme l'extrait ci-dessous pourrait faire l'affaire. Je suppose ici que vous ne recherchez qu'une colonne pour le mot « john », mais vous pouvez en ajouter plus ou en faire une fonction plus générique.

from xlrd import open_workbook

book = open_workbook('simple.xls',on_demand=True)
for name in book.sheet_names():
    if name.endswith('2'):
        sheet = book.sheet_by_name(name)

        # Attempt to find a matching row (search the first column for 'john')
        rowIndex = -1
        for cell in sheet.col(0): # 
            if 'john' in cell.value:
                break

        # If we found the row, print it
        if row != -1:
            cells = sheet.row(row)
            for cell in cells:
                print cell.value

        book.unload_sheet(name) 

9voto

wordsforthewise Points 2907

Voici le paquet openpxyl :

>>> from openpyxl import load_workbook
>>> wb2 = load_workbook('test.xlsx')
>>> print wb2.get_sheet_names()
['Sheet2', 'New Title', 'Sheet1']

>>> worksheet1 = wb2['Sheet1'] # one way to load a worksheet
>>> worksheet2 = wb2.get_sheet_by_name('Sheet2') # another way to load a worksheet
>>> print(worksheet1['D18'].value)
3
>>> for row in worksheet1.iter_rows():
>>>     print row[0].value()

1voto

Morfat Mosoti Points 162

Vous pouvez utiliser le paquet xlpython qui ne nécessite que xlrd. Retrouvez-le ici https://pypi.python.org/pypi/xlpython et sa documentation ici https://github.com/morfat/xlpython

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X