类型错误:需要类似字节的对象,而不是'_io.BytesIO'



使用 openpyxl 我在 bynary 对象中编写和 excel 文件,但当我尝试通过"write"方法保存它时,我得到这个异常:

回溯(最近一次调用(:文件 "stack.py",第 13 行,在 file.write(output( TypeError:一个类似字节的对象是必需的,而不是'_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())

最新更新