python - 遍历多个目录的文件以提取数据
问题描述
我有一系列嵌套的文件,如附图所示。对于每个“内部”文件夹(例如 001717528 文件夹),我想从每个 FITS 文件中提取一行数据并创建一个包含所有行的 CSV 文件,并以“内部”的名称命名该 CSV 文件" 文件夹(例如 001717528.csv 包含来自 18 个拟合文件的数据)。数据提取部分很容易,但我在编写迭代代码时遇到了麻烦。
我真的不知道如何遍历外部文件夹(例如 0017 和内部文件夹),并根据需要命名 csv 文件。
我的代码如下所示:
for subdir, dirs, files in os.walk('../kepler'):
for file in files:
filepath = subdir + os.sep + file
if filepath.endswith(".fits"):
extract data
write to csv file
显然这将遍历开普勒文件夹中的所有文件,因此它不起作用。
解决方案
试试这个代码,它应该打印所有“.fits”文件的文件路径:
# !/usr/bin/python
import os
base_dir = './test'
for root, dirs, files in os.walk(base_dir, topdown=False):
for name in files:
if name.endswith(".fits"):
file_path = os.path.join(root, name) #path of files
print(file_path)
# do your treatment on file_path
您所要做的就是添加您的特定治疗方法。
推荐阅读
- html - HTML“字体”标签正在使用基因组数据创建空白
- ios - 如何缩放视图的所有组件?
- java - 如何验证 RestAPI 控制器端点的 RequestHeader
- node.js - 从包含“require”的 C++ 插件中运行 JS 代码
- python - 测试数据和新数据之间的随机森林准确度差异
- android - 带有数据绑定的自定义视图中的 Kotlin android 扩展
- postgresql - 在 Postgres 中使用子查询重构执行缓慢的查询
- sql - 红移中的日志功能
- ios - Firebase Deeplink 不触发应用程序:continueUserActivity:restorationHandler,Swift 4.2 Xcode10。
- sql-server - jTDS 1.3.1 和 SQL Server 2014+