无法将.xlsx导入Python:没有这样的文件或目录

时间:2015-09-12 19:52:09

标签: python python-2.7 anaconda spyder

我试图将数据从HW3_Yld_Data.xlsx导入Python。我确保Excel文件与Python文件位于同一目录中。这是我写的:

import pandas as pd

Z = pd.read_excel('HW3_Yld_Data.xlsx')

这是我得到的错误:

In [2]: import pandas as pd
   ...: 
   ...: Z = pd.read_excel('HW3_Yld_Data.xlsx')
Traceback (most recent call last):

  File "<ipython-input-2-7237c05c79ba>", line 3, in <module>
    Z = pd.read_excel('HW3_Yld_Data.xlsx')

  File "/Users/Zhengnan/anaconda/lib/python2.7/site-packages/pandas/io/excel.py", line 151, in read_excel
return ExcelFile(io, engine=engine).parse(sheetname=sheetname, **kwds)

  File "/Users/Zhengnan/anaconda/lib/python2.7/site-packages/pandas/io/excel.py", line 188, in __init__
self.book = xlrd.open_workbook(io)

  File "/Users/Zhengnan/anaconda/lib/python2.7/site-packages/xlrd/__init__.py", line 394, in open_workbook
f = open(filename, "rb")

IOError: [Errno 2] No such file or directory: 'HW3_Yld_Data.xlsx'

令人难以置信的是它以前工作得很好。在我做了一个&#34; conda更新后,它似乎停止了工作 - 所有&#34;昨天。

顺便说一下,我使用Spyder作为IDE。请帮忙。谢谢。

2 个答案:

答案 0 :(得分:2)

不使用相对路径,而是使用xlsx的完整路径进行测试。您的conda更新可能已经改变了您的环境。

你可以尝试这样的东西来测试它:

import os
pre = os.path.dirname(os.path.realpath(__file__))
fname = 'HW3_Yld_Data.xlsx'
path = os.path.join(pre, fname)
Z = pd.read_excel(path)

答案 1 :(得分:2)

操作系统中的每个进程都有一个current working directory。任何相对路径都相对于当前工作目录。

当前工作目录设置为启动进程的目录。这在使用命令行时非常自然,但对于仅使用GUI的人来说会让人感到困惑。

您可以使用os.getcwd()检索它,您可以使用os.chdir()进行更改。当然,您也可以在启动脚本之前更改它。