Ошибка в индексе Google Engine - PullRequest
0 голосов
/ 26 марта 2012
file_name = files.blobstore.create(mime_type='application/ms-excel', _blobinfo_uploaded_filename='sample.xls')
    wbk = xlwt.Workbook()
    sheet = wbk.add_sheet('Sheet 1')
    stringa = str(newfile.text)
    s3 = stringa.split('\n')
    i=1
    for riga in s3:
        s2=riga.split()
        try:
            x  = float(s2[0])
            y = float(s2[1])
            sheet.write(i, 1, '%g' %x)
            sheet.write(i, 2, '%14.3e' %y)
        except:
            sheet.write(i, 1, '%s' %s2[0])
            sheet.write(i, 2, '%s' %s2[1])
        i=i+1

Файл "/base/data/home/apps/s~marco-busso/1.357756583016056739/helloworld.py", строка 140, в записи sheet.write (i, 1, '% s'% s2 [0]) IndexError: индекс списка вне диапазона

Почему?

1 Ответ

1 голос
/ 26 марта 2012

Очевидно, s2 пусто, что означает riga пустая строка.stringa имеет более одного '\n' подряд?Отметьте newfile.text, возможно, там есть пустая строка.

Чтобы предотвратить ошибку, вы можете заключить тело цикла в оператор if, например:

for riga in s3:
    if riga:
        s2=riga.split()
        try:
            x  = float(s2[0])
            y = float(s2[1])
            sheet.write(i, 1, '%g' %x)
            sheet.write(i, 2, '%14.3e' %y)
        except:
            sheet.write(i, 1, '%s' %s2[0])
            sheet.write(i, 2, '%s' %s2[1])
        i=i+1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...