python - 使用 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”文件?
解决方案
我认为你只需要缩进你的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()
推荐阅读
- amazon-web-services - AWS Cloudwatch 过滤器和模式语法
- java - 如何将字符串切成这样的数组?
- firebase - “必须依赖 com.google.firebase:firebase-core”,但我有一个
- flutter - 错误 Flutter Firebase 身份验证和 Google 登录
- sql - 尝试使用 group by、rank 和dense rank 的混合来聚合数据,但没有运气
- java - @Inject 和 @Autowired 是否应该被显式声明?
- python - 通过请求将 Web 抓取到单个字符串中?
- git - 如何从 master 创建的分支中恢复多个提交?
- azure-log-analytics - Azure Log Analytics (Kusto) 从十六进制转换
- python - 如何处理索引错误和值错误?