Déterminer le nombre de lignes d'un fichier excel
Bonjour,
je cherche à lire toutes les lignes d'un fichiers excel de longueur variable.
j'essai de lire chacune des lignes une par une jusqu'à rencontrer une cellule vide dans une colonne où, tant qu'il y a des données à lire, il doit y avoir un élément présent.
Je commence par essayer de déterminer la longueur du fichier mais, dès que j'arrive à la ligne où la cellule testée est vide, python me génère une erreur :
voici la boucle utilisée :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
# Contrôle longueur fichier
Test = True
cpt = 0
print cpt," ",Test
while Test==True:
if str(format(feuille.cell_value(cpt,6))) != "" :
cpt = cpt+1
print cpt," ", Test
else:
cpt = cpt-1
Test = False
print cpt," ",Test
print cpt
print Test |
Et le message d'erreur : IndexError: list index out of range
Ce type de boucle fonctionne bien dans d'autres langages mais pas ici!!!!
Quelqu'un a-t'il une solution? Je galère....
Merci d'avance
J'ai trouvé une solution!
En fait, pour lire un fichier excel, il n'est pas utile de connaître son nombre de ligne :
Code:
1 2 3
| for row_index in xrange(feuille.nrows):
for col_index in xrange(feuille.ncols):
print format(feuille.cell(rowx=row_index,colx=col_index).value) |
et ouala!!!
Mai ça prend 3 min 36 sec sur un fichier de 16 000 lignes et 27 colonnes(c'est un peu long non?)
A noter que j'attaque le fichier xlsx avec le module xlrd
Si vous pensez qu'il y a mieux, je laisse la discussion ouverte pour le moment
Merci à tous