Je l'extrait de code de code suivant:Python: Conditions de réglage dans les cas-Elif-else bloc
for row in lst:
if 'Type' in row[0]:
for col in range(len(row)):
#do something
elif (not 'Type' or '') in row[0]:
for col in range(len(row)):
#do something
row_count +=1
Pour la deuxième partie de elif (not 'Type' or '')
comment puis-je pas augmenter la contre-row_count
si son vrai pour row[0]
= ''
seulement mais augmente quand row[0]
! = Type
est atteint? Je pourrais définir la condition de compteur avec le bloc if-else comme im balayage ligne par ligne dans lst
qui est fondamentalement une ligne lue à partir d'un lecteur csv en python.
Peut-être que je me complique trop? Avis plz. [EDIT] - Voici le code actuel, en utilisant le module xlwt pour écrire dans les feuilles de calcul.
for row in spamReader:
if 'Type' in row[0]:
for col in range(len(row)):
ws.write(0,col,convert(row[col]),style)
elif (not 'Type' or '') in row[0]:
for col in range(len(row)):
ws.write(row_count,col,convert(row[col]),style)
row_count +=1
Plus de détails: Je possède ce fichier csv où la ligne de balayage Im par ligne. Quelle que soit la ligne où sa première valeur est 'Type', je l'écris dans une autre feuille de calcul xls pour qu'elle devienne la première ligne. Sinon, il continue à copier rangée par rangée. Mais, quand la première colonne de la rangée est vide, c'est-à-dire '', elle suppose de la passer/la négliger.
Pouvez-vous déplacer la déclaration 'row_count' dans le bloc si? –
Quand voulez-vous augmenter 'row_count'? – wong2
si je déplace l'instruction 'row_count' dans le bloc, à quel retrait suis-je censé l'aligner? coz, une fois qu'il a incrémenté le compteur, le prochain bloc l'utilisera dans l'instruction 'do something'. – siva