Version française de ma réponse sur Stack Overflow : Python Excel column array variable.
OpenPyXL est un module Python pour la gestion des fichiers Excel 2010. Nous allons nous en servir pour convertir une feuille Excel en liste.
Le fichier en question est example.xlsx, typiquement il s'agit d'un tableau tel que :
Name email desc date
name1 email1 desc1 date1
name2 email2 desc2 date2
name3 email3 desc3 date3
Le but est de pouvoir accéder à n'importe quelle cellule sous la forme data[1][2]
, qui renverrait ici desc1
.
>>> from openpyxl import load_workbook
>>> wb = load_workbook('example.xlsx', read_only=True)
>>> ws = wb.active
>>> data = [[cell.value for cell in row] for row in ws.rows]
>>> data[1][2]
'desc1'
>>> data[3][0]
'name3'
data
peut sembler un peu obscure, mais si nous voulions faire plus verbeux, cela aurait donné :
data = []
for i, row in enumerate(ws.rows):
data.append([])
for cell in row:
data[i].append(cell.value)