使用xlwt时出现UnicodeDecodeError错误

5
我可以帮您进行翻译。这段文本是关于使用Python和xlwt的问题。 我的代码:
tickets = cursor.fetchall ()
largo = len(tickets)
cursor.close ()
conn.close ()

row = 4
for t in tickets:

  hoja.write(row, 1, t[0])
  hoja.write(row, 2, epoch2fecha(t[1]))
  hoja.write(row, 3, epoch2fecha(t[12]))
  hoja.write(row, 6, t[10])
  hoja.write(row, 7, t[9])
  hoja.write(row, 8, t[6])
  hoja.write(row, 9, t[3])
  row += 1
  if(row == largo+1):
     break
libro.save('Informe.xls')

错误:
libro.save('informe.xlsx')
File "build/bdist.linux-x86_64/egg/xlwt/Workbook.py", line 662, in save
File "build/bdist.linux-x86_64/egg/xlwt/Workbook.py", line 637, in get_biff_data
File "build/bdist.linux-x86_64/egg/xlwt/Workbook.py", line 599, in __sst_rec
File "build/bdist.linux-x86_64/egg/xlwt/BIFFRecords.py", line 76, in get_biff_record
File "build/bdist.linux-x86_64/egg/xlwt/BIFFRecords.py", line 91, in _add_to_sst
File "build/bdist.linux-x86_64/egg/xlwt/UnicodeUtils.py", line 50, in upack2
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf3 in position 6: ordinal not in range(128)

2
当您创建工作簿实例(hoja?)时,请尝试指定相关编码:例如 hoja = xlwt.Workbook(encoding='utf-8') - Jon Clements
1
谢谢您的回答,但完全不起作用。 我可以使用encoding='latin-1'来修复它。 :) - R. Stark
1个回答

10

你尝试过对工作簿进行Latin-1编码吗?

from xlwt import Workbook

hoja = Workbook(encoding='latin-1')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接