我尝试将.xlsm文件中的数据导入为数据框。当我使用以下命令导入.xlsm文件时,结果是一个空的数据框:
exp = pd.read_excel(File_Path+'file_name'.xlsx',sheetname='Data',header=None)
我手动将 .xlsm 文件保存为 .xlsx 文件,并将其导入为数据帧。
请问有人能告诉我如何使用 Python 将 .xlsm 文件另存为 .xlsx 文件吗?
我尝试将.xlsm文件中的数据导入为数据框。当我使用以下命令导入.xlsm文件时,结果是一个空的数据框:
exp = pd.read_excel(File_Path+'file_name'.xlsx',sheetname='Data',header=None)
我手动将 .xlsm 文件保存为 .xlsx 文件,并将其导入为数据帧。
请问有人能告诉我如何使用 Python 将 .xlsm 文件另存为 .xlsx 文件吗?
win32com
类型的方法。如果您在Windows上,可以使用Python自动化Excel本身来执行从.xlxm
文件到.xlsx
格式的转换。然后,可以使用通常的Pandas pd.read_excel()
函数正确读取文件。import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
# Load the .XLSM file into Excel
wb = excel.Workbooks.Open(r'input.xlsm')
# Save it in .XLSX format to a different filename
excel.DisplayAlerts = False
wb.DoNotPromptForConvert = True
wb.CheckCompatibility = False
wb.SaveAs(r"output.xlsx", FileFormat=51, ConflictResolution=2)
excel.Application.Quit()
# Load the .XLSX file into Pandas
df = pd.read_excel('output.xlsx', sheetname='Data', header=None)