【发布时间】:2016-06-15 02:38:43
【问题描述】:
每当我在 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>'
【问题讨论】:
-
我在这里可能没有说清楚。问题正是当文件在 Excel 中打开时,它给了我这个错误,我的问题是为什么。这不是只读操作吗?
-
对不起,我错过了那部分。是的,如果 Excel 文件在 Excel 中打开,您甚至无法读取它。您可以尝试使用文件 URL,例如
file://localhost/path/to/workbook.xlsx看看是否有帮助。 -
@Selcuk:实际上,您可以阅读在 Excel 中打开的工作簿,具体取决于您的方法。例如,如果你直接使用
xlrd(而不是通过pandas),你可以这样做。 -
能否分享一下fPath指向的路径;如果您也可以共享 sn-p,那将非常有帮助。即使在 MS Excel 中打开文件(在 Windows 10 上,Anaconda python=3.5.6,pandas=0.23.4 和 xlrd=1.2.0),pd.read_excel() 也不会报告任何权限问题。跨度>