如何在保留Excel文件格式的同时将现有的xlsx
Excel文件转换为xls
?我用的是Python3,所以我不确定我能不能用xlutils
。。。我无法通过conda install xlutils
安装它,因为有很多不兼容的地方。所以现在我使用的代码没有xlutils.copy()
:
import xlrd, xlwt
wb = xlrd.open_workbook(my_xlsx_excel_file)
# wb = xlutils.copy(wb)
wb.save(my_xlsx_excel_file[:-1])
我得到这个错误:
AttributeError: 'Book' object has no attribute 'save'
谢谢你!
您可以尝试使用openpyxl,并通过conda install openpyxl安装它 它应该和Python3.5一起工作* 那么下面的代码可能可以工作
您可以从openpyxl文档中了解更多信息,https://openpyxl.readthedocs.io/en/default/
享受吧!
首先:为什么要转换为.xls?这通常表明您正在使用过时的工具,最好使用更新的工具,而不是将数据转换为旧格式。
但是,如果您确实需要在保留格式的同时转换为.xls,那么此时您唯一现实的选择就是使用Excel本身。你没有说你在使用哪个平台,但是如果是Windows或者Mac,并且你已经安装了Excel,那么实现Excel自动化的最直接的方法可能是xlwings。原则上,这将允许您使用Python在Excel中打开.xlsx文件(一个实际运行的microsoftexcel实例),并将“另存为”保存到.xls文件。
我之所以说“原则上”,是因为我个人不知道如何在xlwings中做到这一点。(我不是真的使用那个包)在封面下,xlwings依赖于Windows上的pywin32和Mac上的appscript,所以你可以直接使用那些较低级别的包。
例如,如果您在Windows上,可以执行以下操作:
56是一个magic constant,表示Excel 97-2003格式(用于Windows)。
当然,在带有appscript的Mac上应该有相应的方法来实现这一点。只需注意,文件格式常量may be different比Windows上的要多。
相关问题 更多 >
编程相关推荐