|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.01.2020, 19:00 | #1 |
Новичок
Джуниор
Регистрация: 21.01.2020
Сообщений: 5
|
Порядок обработки файлов (сортировка)
Доброго времени суток, форумчане!
Друзья, проблема такая. Имеется простенькая программа по составлению excel-файла с содержанием путём обработки всех Эксель файлов в директории. Ввиду своеобразного сравнения строк, Питон обрабатывает файл с номером 09-01.2.8И3-2-1 в самом конце, хотя должен брать в начале. Как сделать так, чтобы интерпретатор брал их в том же порядке, как они сортируются Windows? Чтобы сначала он брал 09-1.2.6И2-0-2, затем 09-01.2.8И3-2-1, потом все остальные. Файлы перебираю через for file in glob.glob(‘0*.xls’). К сожалению, изменить наименование файлов не представляется возможным, они должны быть вот такими. https://sun9-43.userapi.com/c205516/...XWw0Cpjwm4.jpg https://sun9-27.userapi.com/c855432/...x5E_2IgEHs.jpg |
21.01.2020, 19:50 | #2 |
Форумчанин
Регистрация: 22.09.2007
Сообщений: 540
|
Ну вы бы хоть проект приложили, можно с пустыми файлами, главное что-бы они так и назывались.
Скрины как в win и какой результирующий список у python. |
21.01.2020, 19:55 | #3 | |
Новичок
Джуниор
Регистрация: 21.01.2020
Сообщений: 5
|
Цитата:
1)09-01.2.6И2-0-2.xls 2)09-01.2.8И3-2-1.xls 3)09-01.2.12И2-0-1.xls 4)09-01.2.12И2-0-2.xls 5)09-01.2.13И2-2.xls 6)09-01.2.14И2-1.xls 7)09-01.2.14И2-2И1.xls 8)09-01.2.15И2-1.xls 9)09-01.2.15И2-2.xls 10)09-01.2.18И1-1.xls А glob.glob сортирует: 1)09-01.2.12И2-0-1.xls 2)09-01.2.12И2-0-2.xls 3)09-01.2.13И2-2.xls 4)09-01.2.14И2-1.xls 5)09-01.2.14И2-2И1.xls 6)09-01.2.15И2-1.xls 7)09-01.2.15И2-2.xls 8)09-01.2.18И1-1.xls 9)09-01.2.6И2-0-2.xls 10)09-01.2.8И3-2-1.xls мне соответственно нужна та же сортировка, как и в винде Последний раз редактировалось azlimanty; 21.01.2020 в 20:05. |
|
21.01.2020, 20:01 | #4 |
Форумчанин
Регистрация: 22.09.2007
Сообщений: 540
|
Попробуйте сортировку результирующего списка, полученного от glob.glob
https://tproger.ru/translations/python-sorting/ |
21.01.2020, 20:05 | #5 | |
Новичок
Джуниор
Регистрация: 21.01.2020
Сообщений: 5
|
Цитата:
|
|
21.01.2020, 20:11 | #6 |
Форумчанин
Регистрация: 22.09.2007
Сообщений: 540
|
Видно что-то не дочитали.
1. Сделать обычную сортировку по возрастанию очень просто — достаточно вызвать функцию sorted(), которая вернёт новый отсортированный список: new_list = sorted([5, 2, 3, 1, 4]) 2. Также можно использовать метод списков list.sort(), который изменяет исходный список (и возвращает None во избежание путаницы). a.sort() - вернет None, все изменения уже в списке a Сортировка списка строк в порядке возрастания Код:
Код:
Последний раз редактировалось Arkuz; 21.01.2020 в 20:14. |
21.01.2020, 20:19 | #7 |
Новичок
Джуниор
Регистрация: 21.01.2020
Сообщений: 5
|
Да, действительно. Выполнил сортировку, результат, к сожалению, не изменился. И с точки зрения лексикографического порядка Python прав. Но, повторюсь, у Windows сортировка другая, и она как раз таки нужна. Продолжаю биться дальше,но все равно не понимаю, как это реализовать
|
21.01.2020, 20:54 | #8 |
Форумчанин
Регистрация: 22.09.2007
Сообщений: 540
|
Приложите проект с файлами, если можно. Файлы можете очистить.
Посмотрите еще в эту сторону "Python: сортировка списков методом .sort() с ключом" - https://habr.com/ru/post/138535/ Последний раз редактировалось Arkuz; 21.01.2020 в 21:00. |
21.01.2020, 21:49 | #9 |
Новичок
Джуниор
Регистрация: 21.01.2020
Сообщений: 6
|
Есть с первого взгляда сложный способ, но если разобраться, то всё просто)
Код:
|
22.01.2020, 21:55 | #10 | |
Новичок
Джуниор
Регистрация: 21.01.2020
Сообщений: 5
|
Цитата:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
WinAPI для обработки файлов (С, С++) | ozon11 | Помощь студентам | 8 | 07.03.2015 00:19 |
Программирование операций обработки файлов | Andrey93 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 16.05.2011 18:38 |
[c++][list] Порядок обработки двух list | Padavan | Помощь студентам | 1 | 10.05.2011 14:56 |
Алгоритмы обработки файлов | Troilk | Помощь студентам | 0 | 15.03.2011 02:21 |
Оптимизация обработки файлов | dinon | Microsoft Office Excel | 3 | 30.04.2009 19:09 |