pandas 导出到excel ,打开excel有错误,错误的提示为:发现“***”中的部分内容问题,是否让我们尽量尝试修复?如果您信任此工作簿的源,请单击“是”
生成多sheet部分的代码
sheet1.to_excel(writer, index=False, sheet_name="测评列表", encoding="utf-8")
sheet2.to_excel(writer, index=False, sheet_name="测评详情", encoding="utf-8")
writer.save()
writer.close()
发现问题
def close(self) -> None:
"""synonym for save, to make it more file-like"""
self.save()
self.handles.close()
# 在close方法内部已经调用了save方法,不需要手动调用了
解决方案
-
不要调用writer.save()方法
-
使用with语句,示例如下:
bio = BytesIO() with pd.ExcelWriter(bio, engine='openpyxl') as writer: sheet1.to_excel(writer, index=False, sheet_name="测评列表", encoding="utf-8") sheet2.to_excel(writer, index=False, sheet_name="测评详情", encoding="utf-8")
with要求对象必须有一个enter方法和一个exit方法,ExcelWriter的exit方法里面调用了close,参考:https://www.biaodianfu.com/python-with.html