在anaconda提示符下运行程序时,没有此类文件或目录错误

时间:2020-09-28 11:52:46

标签: python excel anaconda command-prompt

我一直在制作一个简单的python脚本,以练习读取和写入excel文件。我有几个简单的函数,它们可以从excel文件创建数据框,允许用户创建新行(即更新的储蓄余额等),然后将数据框的底部添加新行并将其保存回excel。

基本上每个功能都以:dfTest = pd.read_excel('FinancesExcel.xlsx', sheet_name='Test')

开头

并写入:

    dfTestNew = dfTest.append(new_row,ignore_index=True)
    
    with pd.ExcelWriter('FinancesExcel.xlsx') as writer:
        dfTestNew.to_excel(writer, sheet_name='Test',index=False) 

当我在Spyder中运行它时,效果很好。退出前根据需要进行多次更新并保存,没有问题。

当我尝试在Anaconda Prompt中运行它时,它将加载主菜单...

    i = 0
    while i != 1:
    print("Main Menu")
    
    selection = input('1 - Quick Update\n'
                      '2 - Full Update\n'
                      '3 - Overview\n'
                      '4 - Visualize\n'
                      '5 - Forecast\n'
                      'Selection: ')

当前仅构建选项1-3,但它们都以dfTest = pd.read_excel('FinancesExcel.xlsx', sheet_name='Test')

开头

如果您选择选项1-3中的任何一个,它就会显示...

回溯(最近通话最近一次):

  File "D:\Python\Projects\PersonalFinance\PersonalFinanceTest.py", line 273, in <module>
    dfTest = pd.read_excel('FinancesExcel.xlsx', sheet_name='Test')
  File "D:\michaData\lib\site-packages\pandas\io\excel\_base.py", line 304, in read_excel
    io = ExcelFile(io, engine=engine)
  File "D:\michaData\lib\site-packages\pandas\io\excel\_base.py", line 824, in __init__
    self._reader = self._engines[engine](self._io)
  File "D:\michaData\lib\site-packages\pandas\io\excel\_xlrd.py", line 21, in __init__
    super().__init__(filepath_or_buffer)
  File "D:\michaData\lib\site-packages\pandas\io\excel\_base.py", line 353, in __init__
    self.book = self.load_workbook(filepath_or_buffer)
  File "D:\michaData\lib\site-packages\pandas\io\excel\_xlrd.py", line 36, in load_workbook
    return open_workbook(filepath_or_buffer)
  File "D:\michaData\lib\site-packages\xlrd\__init__.py", line 111, in open_workbook
    with open(filename, "rb") as f:

FileNotFoundError: [Errno 2] No such file or directory: 'FinancesExcel.xlsx'

FinancesExcel.xlsx is definitely there, where it always is when it runs in Spyder. I don't have the file open when I run the script (already learned that lesson).

我无法弄清楚为什么它无法运行。

1 个答案:

答案 0 :(得分:0)

在Anaconda Prompt中运行脚本时,检查当前工作目录:

import os

print(f'your current wd is: {os.getcwd()}')

我相信它与您在Spyder上运行的有所不同。您需要提供Excel文件的完整路径。 “路径/到/excel/FinancesExcel.xlsx”