1 votes

Comment ne pas lever une exception Python lors de la conversion d'un integer-as-string en int ?

J'ai quelques HTML que j'essaie d'analyser. Dans certains cas, les attributs html seuls ne vont pas m'aider à identifier le type de ligne (en-tête ou données). Heureusement, si ma ligne est une ligne de données, elle devrait avoir des valeurs qui peuvent être converties en nombres entiers. J'ai trouvé comment convertir l'unicode en un nombre entier pour les cas où il est possible d'effectuer la conversion. J'ai du mal à écrire la logique permettant de passer outre les cellules pour lesquelles la conversion ne fonctionnera pas parce que le contenu de la cellule doit être traité comme du texte.

par exemple si rowColumn[1][3] peut être converti en un nombre entier, je peux le faire en

int(rowColumn[1][3].replace(',','').strip('$'))

mais je reçois une erreur si rowColumn[1][3] a un contenu textuel.

4voto

S.Lott Points 207588

Avez-vous regardé la déclaration d'essai ?

try:
    x = int(rowColumn[1][3].replace(',','').strip('$'))
except ValueError, e:
    x = None # rowColumn[1][3] was not an integer

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X