python - openpyxl - 类型错误 : a bytes-like object is required, 不是 '_io.BytesIO'

标签 python openpyxl

使用openpyxl我在一个二元对象中编写和excel文件但是当我尝试通过“write”方法保存它时,我得到了这个异常:

Traceback (most recent call last): File "stack.py", line 13, in file.write(output) TypeError: a bytes-like object is required, not '_io.BytesIO'

我该如何解决这个问题?下面是一个简单的例子:

import openpyxl
from io import BytesIO

wb = openpyxl.Workbook()
ws = wb.active
ws.title = "TEST"
output = BytesIO() 

wb.save(output)


file = open("ciao.xlsx", "wb")
file.write(output) # <--- this instruction doesn't work..

file.close()

注意:我已经知道可以直接用openpyxl保存excel文件,但是在我的真实代码中,我需要将它保存在二进制文件中。

最佳答案

您可以使用 getvalue 函数从 BytesIO 输出中获取类似字节的对象。

file.write(output.getvalue())

关于python - openpyxl - 类型错误 : a bytes-like object is required, 不是 '_io.BytesIO',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62239299/

相关文章:

python - 使用python删除html文档中的行

python - openpyxl reader 返回 None 值

python - 无法使用 openpyxl 加载工作簿 : during handling of the above exception, 发生另一个异常

python - 将边框应用于 OpenPyxl 中的单元格

python - 一些超链接无法使用 Openpyxl 打开

python - 模糊比较两列

python - 在 matplotlib 图形中绘制平滑曲线

python - 如何使用python批量更新elasticsearch中的单个字段

python - 使用 python 连接要素类的字段,无需字段计算器

python - openpyxl - 只写工作表无法添加表