基于pandas导出后缀名为.xls时报错:文件类型:没有xls引擎
1.这是什么意思?
2.如何解决?
能帮忙解决下吗,Python小小初学者十分感谢🙏
基于pandas导出后缀名为.xls时报错:文件类型:没有xls引擎
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注不知道你这个问题是否已经解决, 如果还没有解决的话:- 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7465157
- 这篇博客你也可以参考下:Pandas和xlrd读取xls报错解决方法
- 除此之外, 这篇博客: xls批量转换为xlsx格式文件中的 方法1:Python pandas库 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
使用Python pandas库的to_excel方法来另存为xlsx格式。
考虑到Excel文件一般有多个工作表,需要都读出来然后保存。下面直接给出代码:
import glob import os import time import pandas as pd class excelConvert(): def __init__(self): self.path = os.getcwd() # 当前工作路径 xlsxdirname = "xlsx" xlsxpath = os.path.join(self.path, xlsxdirname) if not os.path.exists(xlsxpath): print(f"创建文件夹: {xlsxdirname}") os.makedirs(xlsxpath) self.xlsxpath = xlsxpath def batch_convert(self): xls_files = glob.glob(self.path + "/*.xls") if len(xls_files) != 0: print('当前目录下的xls格式文件:') for file in xls_files: print(os.path.basename(file)) fname, _ = os.path.splitext(file) basename = os.path.basename(fname) xlsxpathname = os.path.join(self.xlsxpath, basename) self.saveasxlsx(file, xlsxpathname) else: print('该目录下无xls格式文件,即将退出...') time.sleep(2) os._exit(0) def saveasxlsx(self, xlspath, xlsxpath): writer = pd.ExcelWriter(xlsxpath + '.xlsx') datas = pd.read_excel(xlspath,sheet_name=None) for sheetname, values in datas.items(): data = pd.DataFrame(values) data.to_excel(writer, sheet_name=sheetname) writer.save() writer.close() if __name__=='__main__': excel = excelConvert() excel.batch_convert()使用上述代码无法保留原Excel文件中的单元格样式,接下来介绍使用VBA代码进行转换。
- 您还可以看一下 乌云毕力格老师的python之pandas玩转excel表格教程课程中的 18.【把一列数据分割成两列】小节, 巩固相关知识点
- 以下回答来自chatgpt:
回答: "没有xls引擎"的报错意味着你未安装支持xls文件的xls引擎,可以通过安装openpyxl或者xlrd来支持xls文件的读取。具体的安装方法可以在终端输入以下命令:
pip install openpyxl pip install xlrd如果这两个包都安装了,还是出现“没有xls引擎”的报错,可能是Pandas版本不兼容,可以考虑升级Pandas到最新版本。如果还出现问题,请尝试使用to_excel方法导出文件,示例代码可以参考参考资料中的段落1。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决评论 打赏 举报无用 1