pandas无法打开这个Excel文件

我正在尝试使用pythonpandas打开一个Excel文件。 代码很简单,如下所示;

import pandas as pd df = pd.read_excel('../TestXLWings.xlsm', sheetname="TestSheet") 

我下面有一个错误;

 Traceback (most recent call last): File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.2\helpers\pydev\pydevd.py", line 1599, in <module> globals = debugger.run(setup['file'], None, None, is_module) File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.2\helpers\pydev\pydevd.py", line 1026, in run pydev_imports.execfile(file, globals, locals) # execute the script File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.2\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile exec(compile(contents+"\n", file, 'exec'), glob, loc) File "C:/Users/testing/Dropbox/Test-XLwings/test.py", line 3, in <module> df = pd.read_excel('../TestXLWings.xlsm', sheetname="TestSheet") File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\excel.py", line 203, in read_excel io = ExcelFile(io, engine=engine) File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\excel.py", line 260, in __init__ self.book = xlrd.open_workbook(io) File "C:\ProgramData\Anaconda3\lib\site-packages\xlrd\__init__.py", line 441, in open_workbook ragged_rows=ragged_rows, File "C:\ProgramData\Anaconda3\lib\site-packages\xlrd\book.py", line 87, in open_workbook_xls ragged_rows=ragged_rows, File "C:\ProgramData\Anaconda3\lib\site-packages\xlrd\book.py", line 595, in biff2_8_load raise XLRDError("Can't find workbook in OLE2 compound document") xlrd.biffh.XLRDError: Can't find workbook in OLE2 compound document 

我的Excel文件是xlsm并受密码保护。 OLE2复合文件究竟意味着什么? pandas有打开这种Excel文件的问题吗? 我正在使用python v3.6

我会回答我自己的问题。 在ayhan的评论之一中,Excel保护的文件不能被xlrd读取。 一个解决办法是取消保护。

我需要这个命令来从python解除一个Excel文件的保护

读取受Excel保护的文件的另一个解决scheme是使用xlwings。 我已经证实,当Excel文件打开时,xlwings能够读取受保护的Excel文件。