如何使用Python将.xlsm(支持宏的excel文件)转换为.xlsx?

时间:2016-09-02 12:13:45

标签: excel windows python-2.7 xlsx xlsm

我正在尝试将.xlsm文件中的数据导入为数据框。当我使用下面的命令导入.xlsm文件时,它会给我一个空数据帧作为结果:

exp = pd.read_excel(File_Path+'file_name'.xlsx',sheetname='Data',header=None)

我手动将.xlsm文件保存为.xlsx文件并将其作为数据框导入。

有人可以告诉我如何使用Python将.xlsm文件另存为.xlsx吗?

1 个答案:

答案 0 :(得分:2)

我建议您尝试使用win32com类型方法,如下所示:

import win32com.client as win32

excel = win32.gencache.EnsureDispatch('Excel.Application')

wb = excel.Workbooks.Open(r'input.xlsm')
excel.DisplayAlerts = False
wb.DoNotPromptForConvert = True
wb.CheckCompatibility = False
wb.SaveAs(r"output.xlsx", FileFormat=51, ConflictResolution=2)
excel.Application.Quit()

我建议您添加文件名的完整路径。