程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用 pandas/openpyxl 写入 Excel 文件会返回错误或创建需要修复的文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用 pandas/openpyxl 写入 Excel 文件会返回错误或创建需要修复的文件?

开发过程中遇到使用 pandas/openpyxl 写入 Excel 文件会返回错误或创建需要修复的文件的问题如何解决?下面主要结合日常开发的经验,给出你关于使用 pandas/openpyxl 写入 Excel 文件会返回错误或创建需要修复的文件的解决方法建议,希望对你解决使用 pandas/openpyxl 写入 Excel 文件会返回错误或创建需要修复的文件有所启发或帮助;

我遇到了一个错误,该脚本在 2 个月前运行良好。 我首先使用 shutil.copyfile 复制模板 Excel 文件。到目前为止一切顺利。

然后我用熊猫创建一个 ExcelWriter 类:

writer = pd.ExcelWriter(out_xl,ENGIne="openpyxl")
# some extra stuff for filling the file,# not relevant since the issue shows up with these 3 lines already
writer.save()
writer.close()

这曾经可以正常工作,但我现在收到此错误:

IndexError: at least one sheet must be visible

添加追加模式:

writer = pd.ExcelWriter(out_xl,ENGIne="openpyxl",mode="a")

消除了错误,但是当我打开 Excel 文件时,我收到一条错误消息,指出该文件需要修复。

我使用 Python 3.7、pandas 1.2.3 和 openpyxl 3.0.7。

知道出了什么问题吗?

编辑:

如果您想重现问题,请复制/粘贴此代码:

import pandas as pd
from shutil import copyfile
template = r"path to any exisTing xLSX file"
out_xl = r"path to any xLSX file"
copyfile(template,out_xl)
writer = pd.ExcelWriter(out_xl,mode="a")
writer.save()
writer.close()

解决方法

我使用以下代码复制一个 Excel 工作簿,打开它并将一个小数据框写入新工作表

我没有明确保存和关闭复制的工作簿,而是使用了上下文管理器。

代码运行没有错误,代码完成后我可以毫无问题地打开新工作簿

import pandas as pd
from pandas import ExcelWriter
from shutil import copyfile

template = r"test.xLSX"
out_xl = r"out.xLSX"
copyfile(template,out_xl)

df = pd.DataFrame({'col1':[1,2,3,4],'col2':[5,6,7,9]})
with ExcelWriter(out_xl,mode="a",ENGIne="openpyxl") as writer:
  df.to_excel(writer,sheet_name="Sheet3")
  

大佬总结

以上是大佬教程为你收集整理的使用 pandas/openpyxl 写入 Excel 文件会返回错误或创建需要修复的文件全部内容,希望文章能够帮你解决使用 pandas/openpyxl 写入 Excel 文件会返回错误或创建需要修复的文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。