如果在Excel中打开文件,pd.read_excel将引发PermissionError

RAY*_*RAY 7 python excel pandas

每当我在Excel中打开文件并运行代码时,都会收到以下错误,这是令人惊讶的,因为我认为read_excel应该是只读操作,并且不需要将文件解锁?

    Traceback (most recent call last):
  File "C:\Users\Public\a.py", line 53, in <module>
    main()
  File "C:\Users\Public\workspace\a.py", line 47, in main
    blend = plStream(rootDir);
  File "C:\Users\Public\workspace\a.py", line 20, in plStream
    df = pd.read_excel(fPath, sheetname="linear strategy", index_col="date", parse_dates=True)
  File "C:\Users\Public\Continuum\Anaconda35\lib\site-packages\pandas\io\excel.py", line 163, in read_excel
    io = ExcelFile(io, engine=engine)
  File "C:\Users\Public\Continuum\Anaconda35\lib\site-packages\pandas\io\excel.py", line 206, in __init__
    self.book = xlrd.open_workbook(io)
  File "C:\Users\Public\Continuum\Anaconda35\lib\site-packages\xlrd\__init__.py", line 394, in open_workbook
    f = open(filename, "rb")
PermissionError: [Errno 13] Permission denied: '<Path to File>'
Run Code Online (Sandbox Code Playgroud)

cor*_*eyb -2

您可以设置engine = 'xlrd',然后您可以在 Excel 打开文件时运行代码。

df = pd.read_excel(filename, sheetname, engine = 'xlrd')
Run Code Online (Sandbox Code Playgroud)

pip install xlrd如果您没有的话,您可能需要

  • 这个解决方案对我不起作用 - 我得到相同的 PermissionError。 (12认同)