Загрузка и кодирование .xls Файл Python Web.py

Я пытаюсь создать веб-приложение, которое позволяет пользователям загружать файл .xls, который затем я беру и передаю файл uploaded.xls в свою программу, которая читает и анализирует его. В настоящее время я использую Python 2.7 в среде Web.py.

Однако у меня возникают проблемы с кодировкой utf-8 для файлов Excel. Этот метод работает только для файлов .txt & .csv, но когда я пытаюсь выполнить изображения или .pdf, они не работают, поэтому я не уверен, что встроенная в web.py библиотека просто не поддерживает файлы Excel , Когда я загружаю файл Excel, он просто выплескивает нечитаемый контент, например:

■ ♠ ☺☻ ☺ ☻╒═╒ £. ← ►ô +, ∙ «0 ░ ☺ H ↨ P ♂ X ♀ ï ☻ Σ ♦ ♥ ♫ ♂ ♂ ♂ ♂ ▲ ► ☺ Лист1 ▲ ♂ Рабочие листы ♥ ☺

Вот мой код:

class index: def POST(self): x = web.input(calendar_file={}, ref_id='') if x: ref_id = (x.ref_id if x.ref_id else "") filepath=x.calendar_file.filename # replaces the windows-style slashes with linux ones. fn=filepath.split('/')[-1] # splits the and chooses the last part (the filename filename = "%s/Users/jl98567/Documents/xMatters_calendar_app/test/" + fn fullpath = os.path.join('c:', filename % (ref_id)) content = x["calendar_file"].file.read() with open(fullpath, 'w') as f_out: if not f_out: raise Exception("Unable to open %s for writing. " % (fullpath)) f_out.write(content) print x['calendar_file'].value raise web.seeother('/upload?ref_id=%s&filename=%s' % (ref_id, filename)) 

Теперь, когда я пытаюсь закодировать:

 print x['calendar_file'].value.encode('utf-8') 

Я получаю следующую ошибку:

на / 'ascii' кодек не может декодировать байт 0xd0 в позиции 0: порядковый не в диапазоне (128)

Странно то, что я знаю, что кодирование его на utf-8 работает в моем приложении, которое не основано на веб-интерфейсе или не использует метод загрузки файла web.py. Поэтому я не могу понять, в чем проблема.

Например:

 content = str(sheet.cell(row,0).value.encode('utf8')) 

который отлично работает с использованием методов xlrd и xlwt pythonexcel.

Какие-либо предложения?

Большое спасибо!

      print unicode(x['calendar_file'].value, 'utf-8') 
    Давайте будем гением компьютера.