Comment lire un fichier microsoft excel avec python ?

Published: 08 mars 2019

DMCA.com Protection Status

Pour lire un fichier excel avec python il existe le module xlrd. Exemple avec un fichier intitulé 'read_excel_file_with_python.xlsx':

Comment lire un fichier excel avec python ? Comment lire un fichier excel avec python ?
Comment lire un fichier excel avec python ?

Lire le nom des feuilles excel:

import xlrd
import numpy as np

workbook = xlrd.open_workbook('read_excel_file_with_python.xlsx')
SheetNameList = workbook.sheet_names()
for i in np.arange( len(SheetNameList) ):
    print( SheetNameList[i] )

ici le document comprend deux feuilles:

Personal Data
Public Data

Sélectionner une feuille excel:

worksheet = workbook.sheet_by_name(SheetNameList[0])
num_rows = worksheet.nrows 
num_cells = worksheet.ncols 
print( 'num_rows, num_cells', num_rows, num_cells )

donne

num_rows, num_cells 6 4

Lire une feuille excel

curr_row = 0
while curr_row < num_rows:
    row = worksheet.row(curr_row)
    #print row, len(row), row[0], row[1]
    print( 'Row: ', curr_row )
    print( row, len(row), row[0] )
    curr_cell = 0
    while curr_cell < num_cells:
        # Cell Types: 0=Empty, 1=Text, 2=Number, 3=Date, 4=Boolean, 5=Error, 6=Blank
        cell_type = worksheet.cell_type(curr_row, curr_cell)
        cell_value = worksheet.cell_value(curr_row, curr_cell)
        print( ' ', cell_type, ':', cell_value )
        curr_cell += 1
    curr_row += 1

donne

    Row:  0
[text:'First Name', text:'Last Name', text:'Age', text:'Height'] 4 text:'First Name'
  1 : First Name
  1 : Last Name
  1 : Age
  1 : Height
Row:  1
[text:'John', text:'Doe', number:24.0, number:190.0] 4 text:'John'
  1 : John
  1 : Doe
  2 : 24.0
  2 : 190.0
Row:  2
[text:'Elijah', text:'Baley', number:31.0, number:169.0] 4 text:'Elijah'
  1 : Elijah
  1 : Baley
  2 : 31.0
  2 : 169.0
Row:  3
[text:'Paul', text:'Edison', number:22.0, number:185.0] 4 text:'Paul'
  1 : Paul
  1 : Edison
  2 : 22.0
  2 : 185.0
Row:  4
[text:'Martin', text:'Cage', number:41.0, number:176.0] 4 text:'Martin'
  1 : Martin
  1 : Cage
  2 : 41.0
  2 : 176.0
Row:  5
[text:'Robert', text:'Lemon', number:32.0, number:195.0] 4 text:'Robert'
  1 : Robert
  1 : Lemon
  2 : 32.0
  2 : 195.0

Références

Liens Site
xlrd pypi.org
Lien externe How to read els file in python ? youlikeprogramming.com
Python - Write to Excel Spreadsheet stackoverflow