Skip to main content
 首页 » 编程设计

Python Pandas excel UnicodeDecodeError : 'ascii' codec can't decode byte 0xe2 in position 11

2025年05月04日13mfrbuaa

在电子商务网站的网络抓取之后,我将所有数据保存到 pandas 数据框中。好吧,当我尝试将我的 pandas 数据框保存到 excel 文件时,出现以下错误:

Traceback (most recent call last): 
 
File "<ipython-input-7-3dafdf6b87bd>", line 2, in <module> 
  sheet_name='Dolci', encoding='iso-8859-1') 
 
File "C:\ProgramData\Anaconda2\lib\site-packages\pandas\core\frame.py", line  
  1466, in to_excel 
     excel_writer.save() 
 
File "C:\ProgramData\Anaconda2\lib\site-packages\pandas\io\excel.py", line  
  1502, in save 
     return self.book.close() 
 
File "C:\ProgramData\Anaconda2\lib\site-packages\xlsxwriter\workbook.py",  
  line 299, in close 
     self._store_workbook() 
 
File "C:\ProgramData\Anaconda2\lib\site-packages\xlsxwriter\workbook.py",  
  line 607, in _store_workbook 
     xml_files = packager._create_package() 
 
File "C:\ProgramData\Anaconda2\lib\site-packages\xlsxwriter\packager.py",  
  line 139, in _create_package 
     self._write_shared_strings_file() 
 
File "C:\ProgramData\Anaconda2\lib\site-packages\xlsxwriter\packager.py",  
  line 286, in _write_shared_strings_file 
     sst._assemble_xml_file() 
 
File "C:\ProgramData\Anaconda2\lib\site- 
  packages\xlsxwriter\sharedstrings.py", line 53, in _assemble_xml_file 
     self._write_sst_strings() 
 
File "C:\ProgramData\Anaconda2\lib\site- 
  packages\xlsxwriter\sharedstrings.py", line 83, in _write_sst_strings 
     self._write_si(string) 
 
File "C:\ProgramData\Anaconda2\lib\site- 
  packages\xlsxwriter\sharedstrings.py", line 110, in _write_si 
     self._xml_si_element(string, attributes) 
 
File "C:\ProgramData\Anaconda2\lib\site-packages\xlsxwriter\xmlwriter.py",  
  line 122, in _xml_si_element 
     self.fh.write("""<si><t%s>%s</t></si>""" % (attr, string)) 
 
File "C:\ProgramData\Anaconda2\lib\codecs.py", line 706, in write 
     return self.writer.write(data) 
 
File "C:\ProgramData\Anaconda2\lib\codecs.py", line 369, in write 
     data, consumed = self.encode(object, self.errors) 
 
 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 11:  
ordinal not in range(128) 

我使用的代码是这样的:

df.to_excel('my_file.xlsx',sheet_name='Dolci', encoding='iso-8859-1') 

但是不管用,我都试过了:

df.to_excel('my_file.xlsx',sheet_name='Dolci', encoding='utf-8') 

但它仍然给我错误。 有人可以帮我解决这个问题吗?

请您参考如下方法:

您好像在 ExcelWriter 中使用了 xlsxwriter 引擎。 尝试改用 openpyxl。

writer = pd.ExcelWriter('file_name.xlsx', engine='openpyxl') 
df.to_excel(writer) 
writer.save()