Beautifulsoup으로 읽어온 숫자들은 파이썬 내부적으로는 모두 문자열로 처리된다. 실제로 계산을 하기 위해서는 숫자가 필요하기 때문에 다음과 같은 것을 이용해서 숫자로 처리하면 된다.
string.atof #이것은 string으로 읽어온 것을 float로 처리한다.
string.atoi #이것은 string으로 읽어온 것을 integer로 처리한다.
문자로 읽어올 때 12,345 같은 문자의 경우 중간의 쉼표를 제거해야 atof를 이용해서 제대로 숫자로 처리할 수 있는데 다음과 같은 간단한 함수를 이용하면 된다.
def normalize(s):
if s == None:
return 0
elif s != None:
return s.replace(',', '').strip()
위에서 replace(',', '') 를 replace(',', ' ') 로 하면 에러가 나니 주의