'10 진수로 int()에 대한 리터럴이 잘못되었습니다. '' '는 파이썬이' '을 정수로 변환 할 수 없음을 의미합니다. 그러나 나는 이미 조건을 추가했습니다 if(sh.cell_value(rowx=rx, colx=3)!=''):
, 어떤 아무것도 엑셀에 포함 된 블록을 건너 뛸 수 있습니다. 누구 아이디어가 있습니까? 고마워요!밑이 10 인 int()에 대한 리터럴이 올바르지 않습니다. '
import xlrd
book = xlrd.open_workbook("streeteasy.xls")
sh = book.sheet_by_index(0)
total = 0
for rx in range (sh.nrows):
if(sh.cell_value(rowx=rx, colx=3)!=''):
s = sh.cell_value(rowx=rx, colx=3)
print filter(unicode.isdigit, s)
print int(filter(unicode.isdigit, s))
total += int(filter(unicode.isdigit, s))
인용 한 오류 메시지가 실제 것이면 문자열이 비어 있지 않습니다. 공백이 있습니다. 또한,'if' 블록이 실행되지 않더라도, 당신은 여전히 루프의 나머지 부분을 계속 수행하고's'에'int'를 호출하려고 시도합니다. – BrenBarn
만약'string.strip()'을 체크하면, 그 공백을 제거 할 것입니다 ... –
@BrenBarn 당신의 코멘트 후에 포스트가 닌자 편집을하지 않으면, 나는 잘못 읽은 것 같아요. '''는 빈 문자열이며 공백이 없습니다. – sepp2k