Python Unicode解码错误-即使在建议的更正后也无法运行脚本

Python Unicode解码错误-即使在建议的更正后也无法运行脚本,python,Python,我正在使用python2.7.9使用制表符分隔的文本文件创建excel工作表;然而,我在运行这个python脚本时遇到了问题 #!/usr/bin/env python # encoding=utf8 import xlwt import os import sys reload(sys) sys.setdefaultencoding('utf8') wb = xlwt.Workbook() path

我正在使用
python2.7.9
使用制表符分隔的文本文件创建excel工作表;然而,我在运行这个python脚本时遇到了问题

    #!/usr/bin/env python
    # encoding=utf8  
    import xlwt
    import os   
    import sys  
    reload(sys)  
    sys.setdefaultencoding('utf8')


    wb = xlwt.Workbook()
    path = "/home/Final_analysis/"
    #print(os.listdir())
    lis = os.listdir(path)
    sheetnumber = 1
    for x in lis:
        if os.path.isfile(x)==True:
            extension = os.path.splitext(x)
            print(extension[1])
            if extension[1] == '.txt':
                #print("Yes")
                ws = wb.add_sheet(extension[0])
                row = 0
                column = 0
                a = open(x)

                while True:
                    a1 = a.readline()
                    if len(a1)==0:
                        break
                    data = a1.split("\t")
                    for z in data:
                        ws.write(row,column,z)
                        column += 1
                    column = 0
                    row += 1
                sheetnumber+=1
            else:
                pass
    wb.save("Ronic.xls")
我得到以下错误

Traceback (most recent call last):
  File "home/Final_analysis/combine_excel_v2.py", line 39, in <module>
    wb.save("Ronic.xls")
  File "/usr/local/lib/python2.7/site-packages/xlwt/Workbook.py", line 710, in save
    doc.save(filename_or_stream, self.get_biff_data())
  File "/usr/local/lib/python2.7/site-packages/xlwt/Workbook.py", line 674, in get_biff_data
    shared_str_table   = self.__sst_rec()
  File "/usr/local/lib/python2.7/site-packages/xlwt/Workbook.py", line 636, in __sst_rec
    return self.__sst.get_biff_record()
  File "/usr/local/lib/python2.7/site-packages/xlwt/BIFFRecords.py", line 77, in get_biff_record
    self._add_to_sst(s)
  File "/usr/local/lib/python2.7/site-packages/xlwt/BIFFRecords.py", line 92, in _add_to_sst
    u_str = upack2(s, self.encoding)
  File "/usr/local/lib/python2.7/site-packages/xlwt/UnicodeUtils.py", line 50, in upack2
    us = unicode(s, encoding)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 83: ordinal not in range(128)
回溯(最近一次呼叫最后一次):
文件“home/Final\u analysis/combine\u excel\u v2.py”,第39行,在
wb.save(“Ronic.xls”)
文件“/usr/local/lib/python2.7/site packages/xlwt/Workbook.py”,第710行,保存
doc.save(文件名或流,self.get\u biff\u data())
文件“/usr/local/lib/python2.7/site packages/xlwt/Workbook.py”,第674行,在get\u biff\u数据中
共享\u str\u table=self.\u sst\u rec()
文件“/usr/local/lib/python2.7/site packages/xlwt/Workbook.py”,第636行,在
返回自我。获取记录()
文件“/usr/local/lib/python2.7/site packages/xlwt/BIFFRecords.py”,第77行,在get\u biff\u记录中
自身。添加到sst中
文件“/usr/local/lib/python2.7/site packages/xlwt/BIFFRecords.py”,第92行,在“添加到”sst中
u_str=upack2(s,自编码)
upack2第50行的文件“/usr/local/lib/python2.7/site packages/xlwt/UnicodeUtils.py”
us=unicode(s,编码)
UnicodeDecodeError:“ascii”编解码器无法解码第83位的字节0xc3:序号不在范围内(128)
我已经使用了线程中给出的答案

但它不起作用


问题在于
wb.save()
命令设置程序顶部的编码是为了处理代码中的非ascii字符,而不是数据
sys.setdefaultencoding('utf8')
不用于普通程序,弊大于利

要解决此问题,请告诉
xlwt
要使用的编码

更改此行:

wb = xlwt.Workbook()
为此:

wb = xlwt.Workbook(encoding="UTF-8")

在程序顶部设置编码是为了处理代码中的非ascii字符,而不是数据
sys.setdefaultencoding('utf8')
不用于普通程序,弊大于利

要解决此问题,请告诉
xlwt
要使用的编码

更改此行:

wb = xlwt.Workbook()
为此:

wb = xlwt.Workbook(encoding="UTF-8")