Я новичок в Python и использую Databricks.У меня есть папка с несколькими подпапками, содержащая файлы с именами файлов, которые выглядят следующим образом:
Input (A_B)
=====
1_1.json.gz
1_22.json.gz
7_33.json.gz
1_4.json.gz
2_1.json.gz
2_22.json.gz
9_33.json.gz
2_4.json.gz
Как извлечь из целого имени оба целых числа и использовать их для сортировки следующим образом:
Output (Order by B Asc, A Desc)
======
2_1.json.gz
1_1.json.gz
2_4.json.gz
1_4.json.gz
2_22.json.gz
1_22.json.gz
9_33.json.gz
7_33.json.gz
Я попробовал следующий код, но не смог получить ожидаемый результат:
import os
from os import path
path = '/dbfs/FileStore/MainFolder'
arrayfiles = []
for root,dirs,files in os.walk(path):
for file in files:
if file.endswith('.json.gz'):
print(file)
arrayfiles.append(file)
print(arrayfiles)
arrayfiles.sort()
print(arrayfiles)
У меня снова похожий вопрос, если вы можете помочь мне в этом, это было бы здорово. Так что вВведенный выше ввод позволяет обрабатывать целое число перед подчеркиванием как «A», а после подчеркивания - как «B», а вывод, который вы мне помогли, сортировать по (B Asc, A Desc). Как можно сортировать по B, A или B Desc и A Ascn?Могу ли я использовать этот же пузырьковую сортировку?- Что если вместо целых чисел, если у меня есть строка .. как я могу отсортировать то ??