Python 3.5 を使用して、csv ファイルに含まれるデータを分析しています。これらのファイルは、「figs」ディレクトリに含まれています。このディレクトリは、全体的なデータ ディレクトリに含まれているケース ディレクトリに含まれています。
/strm1/serino/DATA/06052009/figs
またはより一般的に:
/strm1/serino/DATA/ case_date_in_MMDDYYYY /figs
私が開始しているディレクトリは「/strm1/serino/DATA/」であり、各サブディレクトリは、私が取り組んでいるケースの月、日、および年です。各サブディレクトリには「figs」という名前の別のサブディレクトリが含まれており、これが各ケースの csv ファイルの場所です。正確には:
/strm1/serino/DATA/ case_date_in_MMDDYYYY /figs/ case_date_in_MMDDYYYY .csv
そのため、DATA ディレクトリから始めて、そのサブディレクトリを調べて、MMDDYYYY という名前のディレクトリを見つけたいと思います。ただし、一部のケース ディレクトリは、「06052009_TX」のように、末尾に州の略語が付けられている場合があります。したがって、MMDDYYYY の名前を正確に一致させる代わりに、ディレクトリ名に 1 から 9 までの任意の数字が含まれていることを確認するのと同じくらい単純なことである可能性があります。
最初のサブディレクトリ (case ディレクトリ) に移動したら、'figs' サブディレクトリに移動したいと思います。そこに到達したら、最初のサブディレクトリ (ケース ディレクトリ) と同じ命名規則で csv ファイルにアクセスしたいと考えています。各 csv ファイルに含まれるデータを既存の配列に入力します。
基本的に、私の質問は、特定の命名規則に一致する複数のサブディレクトリをナビゲートし、最終的に「最後」にあるデータ ファイルにアクセスすることに関するものです。glob、fnmatch、os.listdir、および os.walk を素朴にいじっていましたが、含めると役立つと思われる動作に十分近いものは何も得られませんでした。私はそれらのモジュールにあまり詳しくありません。私が含めることができるのは、私がしようとしていることです:
for dirs in data_dir that contain a number:
go into this directory
go into 'figs' directory
read data from the csv file whose name matches its case directory name (or whose name format matches the case directory name format)
関連する質問に出くわしましたが、特にネストされたディレクトリでは、希望する方法で回答を適用できませんでした。助けてくれて本当に感謝しています。何か明確にする必要がある場合はお知らせください。