Может быть, кто-то захочет разобраться в этом. Я изо всех сил пытаюсь - получить данные из строки, которая удовлетворяет условию - определить минимум раздела кадра данных
У меня есть кадр данных с этим (см. Рисунок, 1 строка для папки, 3 строки для файлов) введите описание изображения здесь
data = pd.DataFrame({'path': ['D:\Business Intelligence\01 General', 'D:\Business Intelligence\01 General\2_AI in FCM_Board_Meeting_Oct17.pptx', 'D:\Business Intelligence\01 General\FAURECIA_GRAPHIC_STANDARDS2_2017.pdf', 'D:\Business Intelligence\01 General\IA_EV_Vsent.pptx'],
'mtime': ['2019-08-21 08:35:49', '2015-10-06 15:04:12', '2016-10-12 13:49:31', '2014-10-12 13:49:31'],
'folder': ['True', 'False', 'False', 'False']})
Я хочу получить возраст родительской папки и самого младшего файла в той же папке. Что я сделал до сих пор:
0: убедитесь, что я сравниваю правильные строки
def string2RawString(string):
rawString = ''
for i in string.split('\\'):
rawString = rawString+("%r"%i).strip("'")+"\\"
return rawString
1: возраст папки / файла, который я могу получить:
def calculate_age(ageFile):
ageFile = datetime.strptime(ageFile, '%Y-%m-%d %H:%M:%S').date()
today = date.today()
return today - ageFile
2: идентификация папки, с которой я начал:
def ageMainPath(path):
path = string2RawString(path)
mainPath = "\\".join(path.split('\\')[:-2])
# logic concept
# find main folder and get column of mtime
return ageMainPath
3: идентификация самого младшего файла, с которым я полностью борюсь:
def ageYoungestFile(path):
path = string2RawString(path)
# logic concept
# find all files in same folder (not sub-folder, only same level)
# find youngest file age
3: я начинаю процесс, так какМеня интересует только информация о файле
data.loc[data.folder == 'False', 'folder age'] = data['path'].apply(ageMainPath)
data.loc[data.folder == 'False', 'youngest file'] = data['path'].apply(ageYoungestFile)