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

posted @ 2022-09-26 16:26  子非鱼且于  阅读(1524)  评论(0编辑  收藏  举报
Live2D