首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >欧元符号- xlsxwriter错误

欧元符号- xlsxwriter错误
EN

Stack Overflow用户
提问于 2015-08-25 09:55:05
回答 2查看 435关注 0票数 0

我试图从一个网页中获取一些数据,并将这些数据写入xlsx文件。一切看起来都很好,但如果在关闭文件时尝试将其写入xlsx文件,则可能会引发编码错误。

错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:/Users/Milano/PycharmProjects/distrelec/crawler.py", line 429, in <module>
    temp_file_to_xlsx()
  File "C:/Users/Milano/PycharmProjects/distrelec/crawler.py", line 119, in temp_file_to_xlsx
    wb.close()    
  File "C:\Python27\lib\site-packages\xlsxwriter\workbook.py", line 295, in close
    self._store_workbook()
  File "C:\Python27\lib\site-packages\xlsxwriter\workbook.py", line 518, in _store_workbook
    xml_files = packager._create_package()
  File "C:\Python27\lib\site-packages\xlsxwriter\packager.py", line 134, in _create_package
    self._write_workbook_file()
  File "C:\Python27\lib\site-packages\xlsxwriter\packager.py", line 174, in _write_workbook_file
    workbook._assemble_xml_file()
  File "C:\Python27\lib\site-packages\xlsxwriter\workbook.py", line 464, in _assemble_xml_file
    self._write_sheets()
  File "C:\Python27\lib\site-packages\xlsxwriter\workbook.py", line 1455, in _write_sheets
    self._write_sheet(worksheet.name, id_num, worksheet.hidden)
  File "C:\Python27\lib\site-packages\xlsxwriter\workbook.py", line 1472, in _write_sheet
    self._xml_empty_tag('sheet', attributes)
  File "C:\Python27\lib\site-packages\xlsxwriter\xmlwriter.py", line 80, in _xml_empty_tag
    self.fh.write("<%s/>" % tag)
  File "C:\Python27\lib\codecs.py", line 694, in write
    return self.writer.write(data)
  File "C:\Python27\lib\codecs.py", line 357, in write
    data, consumed = self.encode(object, self.errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 23: ordinal not in range(128)

要找出我编辑过的codecs模块的问题所在:

代码语言:javascript
复制
def write(self, object):

        """ Writes the object's contents encoded to self.stream.
        """
        try:
            data, consumed = self.encode(object, self.errors)
            self.stream.write(data)
        except:
            print object
            print repr(object)
            raise Exception

产出如下:

代码语言:javascript
复制
<sheet name="Android PC–APC" sheetId="42" r:id="rId42"/>
'<sheet name="Android PC\xe2\x80\x93APC" sheetId="42" r:id="rId42"/>'
    temp_file_to_xlsx()
  File "C:/Users/Milano/PycharmProjects/distrelec/crawler.py", line 119, in temp_file_to_xlsx
    wb.close()    
  File "C:\Python27\lib\site-packages\xlsxwriter\workbook.py", line 295, in close
    self._store_workbook()
  File "C:\Python27\lib\site-packages\xlsxwriter\workbook.py", line 518, in _store_workbook
    xml_files = packager._create_package()
  File "C:\Python27\lib\site-packages\xlsxwriter\packager.py", line 134, in _create_package
    self._write_workbook_file()
  File "C:\Python27\lib\site-packages\xlsxwriter\packager.py", line 174, in _write_workbook_file
    workbook._assemble_xml_file()
  File "C:\Python27\lib\site-packages\xlsxwriter\workbook.py", line 464, in _assemble_xml_file
    self._write_sheets()
  File "C:\Python27\lib\site-packages\xlsxwriter\workbook.py", line 1455, in _write_sheets
    self._write_sheet(worksheet.name, id_num, worksheet.hidden)
  File "C:\Python27\lib\site-packages\xlsxwriter\workbook.py", line 1472, in _write_sheet
    self._xml_empty_tag('sheet', attributes)
  File "C:\Python27\lib\site-packages\xlsxwriter\xmlwriter.py", line 80, in _xml_empty_tag
    self.fh.write("<%s/>" % tag)
  File "C:\Python27\lib\codecs.py", line 699, in write
    return self.writer.write(data)
  File "C:\Python27\lib\codecs.py", line 363, in write
    raise Exception
Exception

我该怎么处理呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-25 09:57:41

您必须使用正确的编码对输入数据进行解码,这似乎是“utf-8”。

票数 1
EN

Stack Overflow用户

发布于 2015-08-25 10:00:46

你可能想看看这个:

示例:使用Python 2的简单Unicode

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32200884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档