PyNEwbie
PyNEwbie

Reputation: 4940

How do I not raise a Python exception when converting an integer-as-string to an int

I have some HTML I am trying to parse. There are cases where the html attributes alone are not going to help me identify the row type (header versus data). Fortunately, if my row is a data row then it should have some values that can be converted to integers. I have figured out how to convert the unicode to an integer for those cases that it is possible to make the conversion. I am struggling to write the logic to move past the cells that the conversion will not work because the cell has content that must be treated as text.

for example if rowColumn[1][3] can be converted to an integer I can do so by

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

but I get an error if rowColumn[1][3] has text content.

Upvotes: 1

Views: 2107

Answers (1)

S.Lott
S.Lott

Reputation: 391852

Have you looked at the try statement?

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

Upvotes: 5

Related Questions