如何用Python筛选含moo的目录并生成CSV文件?
完成筛选含指定关键词目录下文件并生成CSV的Python代码
需要编写Python代码,从指定目录(示例为S:\Test)及其子目录中,仅筛选包含“moo”的目录下的所有文件,最终生成包含完整文件路径的CSV文件。
给出的目录结构如下:
. ├── a.txt ├── b.txt ├── foo │ └── w.txt │ └── a.txt └── moo └── cool.csv └── bad.csv └── more └── wow.csv
预期生成的Pandas DataFrame如下:
FilePath S:\Test\moo\cool.csv S:\Test\moo\bad.csv S:\Test\moo\more\wow.csv
现有部分代码:
import os import pandas as pd root = 'S:\Test' for path, subdirs, files in os.walk(root): print(path)
完整代码实现
import os import pandas as pd root = r'S:\Test' # 用r前缀避免路径转义字符解析错误 file_paths = [] # 遍历目标目录及其子目录 for path, subdirs, files in os.walk(root): # 仅处理路径中包含"moo"的目录 if 'moo' in path: # 拼接当前目录下所有文件的完整路径并收集 for file in files: full_file_path = os.path.join(path, file) file_paths.append(full_file_path) # 转换为指定格式的DataFrame result_df = pd.DataFrame(file_paths, columns=['FilePath']) # 导出为CSV文件(index=False避免生成多余索引列) result_df.to_csv('filtered_files.csv', index=False) # 可选:打印结果验证 print(result_df)
关键说明
- 使用
r'S:\Test':路径前加r前缀,防止\T被解析为制表符这类转义字符 - 目录筛选逻辑:通过
'moo' in path判断当前遍历的目录是否符合要求,只处理符合条件目录下的文件 - 路径拼接:用
os.path.join生成完整文件路径,保证代码在不同操作系统下的兼容性 - CSV导出:
index=False参数避免在输出的CSV中生成不必要的索引列
内容的提问来源于stack exchange,提问作者Eisen
相关产品推荐
相关产品推荐

