OVH Cloud OVH Cloud

Tableau à 2 dimensions, parsing par ligne

3 réponses
Avatar
titouille
Bonjour à tous !!

J'ai un petit problème, je ne comprend pas très bien comment le résoudre.

Je récupère un tableau à 2 dimensions, format unicode, à partir d'un
fichier Excel.
Ensuite, j'aimerai pouvoir parcourir ce tableau ligne par ligne, pour
récupérer la première, lui appliquer un traitement particulier, puis
récupérer les autres pour leur appliquer un autre traitement (1ère ligne
= ligne d'en-tête).

tab = mon tableau récupéré d'excel


j'ai essayé :
for row in tab

mais il me parse chaque élément, sans prendre en compte le fait que ça
soit un tableau à 2 dimensions...

j'ai également essayé
for row in range(len(tab)):


mais la aussi, il me ressort les index, mais 1 par élément, non pas 1
par ligne...

Si quelqu'un pouvait me mettre sur la piste avec un exemple, une url, ça
serai sympa.

D'avance merci


Thierry

3 réponses

Avatar
titouille
Heu... En fait, j'ai comme un doute, tout d'un coup...

(
(None, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0,
12.0, 13.0, 14.0, 15.0, 16.0),
(0.0, u'KA5H0280R', u'ACDC', u'P', u'N', u'Flyback', 800.0, 1.2, u'N',
25.0, 30.0, 100.0, u'N', 7.0, u'A/R', u'A/R', u'A/R', u'A/R'),
(1.0, u'KA5M0280R', u'ACDC', u'P', u'N', u'Flyback', 800.0, 1.2, u'N',
25.0, 30.0, 67.0, u'N', 7.0, u'A/R', u'A/R', u'A/R', u'A/R')
)


est-ce que c'est un tableau, ça ?? j'ai un doute, en voyant
l'affichage... et par la même occasion, comment récupérer des valeurs
entières lorsque ce qui est après le point n'est pas nécessaire ?? (1.0,
2.0, 3.0, etc...)

donc au final, j'aimerai pouvoir faire un truc du style :

<pseudo-code>
for (i = 0; i < myTab.length; i++)
{
row = myTab [i];
for (j = 0; j < row.length; j++)
value = row [j]
// traitement à partir de la valeur récupérée
// ...
}
</pseudo-code>


Est-ce possible ??


Merci :)


Thierry



Bonjour à tous !!

J'ai un petit problème, je ne comprend pas très bien comment le résoudre.

Je récupère un tableau à 2 dimensions, format unicode, à partir d'un
fichier Excel.
Ensuite, j'aimerai pouvoir parcourir ce tableau ligne par ligne, pour
récupérer la première, lui appliquer un traitement particulier, puis
récupérer les autres pour leur appliquer un autre traitement (1ère ligne
= ligne d'en-tête).

tab = mon tableau récupéré d'excel


j'ai essayé :
for row in tab

mais il me parse chaque élément, sans prendre en compte le fait que ça
soit un tableau à 2 dimensions...

j'ai également essayé
for row in range(len(tab)):


mais la aussi, il me ressort les index, mais 1 par élément, non pas 1
par ligne...

Si quelqu'un pouvait me mettre sur la piste avec un exemple, une url, ça
serai sympa.

D'avance merci


Thierry


Avatar
titouille
Bon, ok, j'ai trouvé tout seul...

en fait, j'avais un problème de récupération... il me parsait les
éléments les 1 après les autres dans ma LISTE ( :) ) parce que je
n'avais pas récupéré correctement le tableau avec la méthode excel...
manquait le .Value à la fin, arf...

Donc c'est tout bon.

for row in tab
for val in row
print val


ça roule :)
Avatar
bruno modulix
Heu... En fait, j'ai comme un doute, tout d'un coup...

(
(None, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0,
12.0, 13.0, 14.0, 15.0, 16.0),
(0.0, u'KA5H0280R', u'ACDC', u'P', u'N', u'Flyback', 800.0, 1.2,
u'N', 25.0, 30.0, 100.0, u'N', 7.0, u'A/R', u'A/R', u'A/R', u'A/R'),
(1.0, u'KA5M0280R', u'ACDC', u'P', u'N', u'Flyback', 800.0, 1.2,
u'N', 25.0, 30.0, 67.0, u'N', 7.0, u'A/R', u'A/R', u'A/R', u'A/R')
)


est-ce que c'est un tableau, ça ??


Non, c'est un tuple de tuples. Un tuple est une séquence non-modifiable
(une liste étant une séquence modifiable)

(snip le reste, réponse inutile)