Python错误集锦:xlwt写入表格时提示exception-unexpected-data-type-class-bytes

原文链接:http://www.juzicode.com/python-error-exception-unexpected-data-type-class-bytes

错误提示:

#juzicode.com/VX公众号:juzicode
import xlwt
wb = xlwt.Workbook()
ws = wb.add_sheet('juzicode')
a = b'juzicode'
ws.write(3, 0, '桔子code')
ws.write(3, 1, a)  #bytes
==========运行结果:
---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
Cell In[9], line 7
      5 a = b'juzicode'
      6 ws.write(3, 0, '桔子code') #str
----> 7 ws.write(3, 1, a)  #bytes

File D:\Python\Python310\lib\site-packages\xlwt\Worksheet.py:1088, in Worksheet.write(self, r, c, label, style)
   1035 def write(self, r, c, label="", style=Style.default_style):
   1036     """
   1037     This method is used to write a cell to a :class:`Worksheet`.
   1038 
   (...)
   1086        :class:`~xlwt.Style.XFStyle` object.
   1087     """
-> 1088     self.row(r).write(c, label, style)

File D:\Python\Python310\lib\site-packages\xlwt\Row.py:254, in Row.write(self, col, label, style)
    252     self.__rich_text_helper(col, label, style, style_index)
    253 else:
--> 254     raise Exception("Unexpected data type %r" % type(label))

Exception: Unexpected data type <class 'bytes'>

错误原因:

1、xlwt写入表格的数据类型不能为bytes

解决方法:

1、将bytes类型更换为str类型:

#juzicode.com/VX公众号:juzicode
import xlwt
wb = xlwt.Workbook()
ws = wb.add_sheet('juzicode')
a = b'juzicode'
ws.write(3, 0, '桔子code') #str
ws.write(3, 1, str(a))  #bytes

扩展内容:

  1. Python桔子教程


如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注