Я использую Python 3.5 для анализа данных, содержащихся в файлах csv. Эти файлы содержатся в «инжир» каталог, который содержится в каталоге случае, который содержится в общем каталоге данных, например:Python - Перемещение по подкаталогам, которые соответствуют критериям именования
/strm1/Serino/DATA/06052009/инжир
Или в более общем плане:
/strm1/Serino/DATA/case_date_in_MMDDYYYY/инжир
Каталог, в котором я начинаю: '/ strm1/serino/DATA /,', и каждый подкаталог - это месяц, день и год, в котором я работаю. Каждый подкаталог содержит другой подкаталог с именем «figs», и это местоположение файла csv каждого случая. Чтобы быть точным:
/strm1/Serino/DATA/case_date_in_MMDDYYYY/инжир/case_date_in_MMDDYYYY .csv
Итак, я хотел бы начать в моей директории DATA и пройти через его подкаталогов для поиска тех, у кого есть MMDDYYYY. Однако некоторые каталоги case могут быть названы с сокращением состояния в конце, например: '06052009_TX.' Поэтому, вместо того, чтобы точно именовать MMDDYYYY, это может быть что-то простое, как проверка того, что имя каталога содержит любое число от 1 до 9.
Как только я попал в первый подкаталог (каталог case), я хотел бы переместить в подкаталог «figs». После этого я хочу получить доступ к файлу csv с тем же самым соглашением об именах, что и первый подкаталог (каталог case). Я буду заполнять существующие массивы данными, содержащимися в каждом файле 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)
Я встречал связанные с ней вопросы, но я не смог применить свои ответы так, как я хотел бы, особенно с вложенными каталогами. Я очень ценю помощь, и дайте мне знать, если мне нужно что-то разъяснить.
Это именно то, с чем мне нужна помощь, и это имеет смысл. Я не понимал, что вы можете использовать 'datetime.strptime' таким образом. Я также не знал о «попытке». Большое вам спасибо, и я извиняюсь, что мне потребовалось некоторое время, чтобы ответить. – ChelleS