繁体   English   中英

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

[英]No such file or directory error when running program in anaconda 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).

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

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

import os

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM