我试图将数据从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。请帮忙。谢谢。
答案 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()
进行更改。当然,您也可以在启动脚本之前更改它。