Python- os.chdir在执行时考虑了一个打开的excel文件实例

问题描述 投票:0回答:1

我在文件夹中有一些Excel文件。我使用下面的代码读取这些excel文件并将它们放入列表,以便可以将该列表传递到循环中以从所有这些文件中获取特定数据。

我的问题是-如果我从该文件夹中打开一个excel文件并运行脚本。打开的excel文件实例将在该文件夹中创建,脚本现在将那个临时实例作为.xlsx文件并在列表中重新限制它,将其传递到最终失败的循环-“没有这样的目录”,我找到了一种方法,可以从列表的长度到循环中添加“ -1”来避免失败。但这无效。

请为os.chdir建议任何替代方案

import pandas as pd
import glob
import os

os.chdir(r'\\servername/Files_to_Read')
files = [i for i in glob.glob('*.{}'.format('xlsx'))]
print(files)

s = 0
while(len(files) > s):
    print(files[s])
    df_getvalues = pd.read_excel(files[s], sheet_name="LISTS", header=None)
    dfindx = (df_getvalues.index)
    print("This is the index of the file - " +str(dfindx))
    print(df_getvalues.iloc[dfindx,0])
    s = s + 1

错误:-

FileNotFoundError:[Errno 2]没有这样的文件或目录:'C:\ Users \ $ name_of_file.xlsx'

错误表明它正在C驱动器中搜索文件,但是excel文件的实际文件夹在H驱动器中。

注意-Im正在使用Windows 10,Excel 2016和python 3.7

python excel pandas python-3.7 glob
1个回答
0
投票

此问题似乎是间歇性的,重新启动后再也没有发生,并且我的VM迁移也遇到了一些问题,并且我的配置文件已手动配置,因此我不知道各种原因中的哪些因素帮助我退出了这个问题。

而且,我现在不使用OS.Chdir。这次我正在使用路径和列表目录,因为我在某处不建议使用chdir。

list_dirctry_content = os.listdir(src)

for xlfile in list_dirctry_content:
    str_name_file = os.path.join(src, xlfile)
    if(str_name_file.endswith('.xlsx')):
        final_driving_list.append(str_name_file.strip(src))
© www.soinside.com 2019 - 2024. All rights reserved.