首页 > 解决方案 > 使用 Python 遍历文件夹时获取特定的 Excel 文件名

问题描述

我正在尝试从许多文件夹中提取一个名为“Apples.xlsx”的 Excel 电子表格。但是,在每个相同的文件夹中都有另一个 Excel 电子表格,“Bananas.xlsx”。在遍历我的文件夹时,我只在真正想要“Apples.xlsx”文件时才拉出“Bananas.xlsx”文件。我试过像这样指定“Apples.xlsx”文件:

import os

directory = os.fsencode("mydir")

for folder in os.listdir(directory):
    for file in os.listdir(folder):
        filename = os.fsdecode(file)
    if ((filename.endswith('.xlsx')) and (filename == 'Apples.xlsx')):
        filenames.append(filename)
filenames.sort()

为什么它不拉我的“Apples.xlsx”文件?

标签: pythonexcel

解决方案


我认为你只需要缩进你的if block,这样它就会在你的inner for loop. 我怀疑会发生什么是inner for loop完成,所以只有你的最后一个值file会被你检查if block,如果按字母顺序排列,那就是你的 'Bananas.xlsx'

import os

directory = os.fsencode("mydir")

for folder in os.listdir(directory):
    for file in os.listdir(folder):
        filename = os.fsdecode(file)
        if ((filename.endswith('.xlsx')) and (filename == 'Apples.xlsx')):
            filenames.append(filename)
filenames.sort()

推荐阅读