Найти - Пользователи
Полная версия: Как отсортировать xml список по дате на python?
Начало » Python для новичков » Как отсортировать xml список по дате на python?
1
kdp_k
Есть XML файл того порядка:

<Файл xmlns:xsi=“www.w3.org/2001/XMLSchema-instance” ИдФайл=“12” ВерсПрог=“1С:БУХГАЛТЕРИЯ 7.70.598” ВерсФорм=“5.02”ИдФайлИсх=“12” ИдФайлПерв=“12” КолФайл=“1” НомФайл=“1”>
<Документ КНД=“1115122”>
<СвПокуп>
<СведЮЛ НаимОрг=“ООО ”Пром“” ИННЮЛ=“1901011441” КПП=“4214333001”/>
СвПокуп>
<СвКнПок Период=“22” ОтчетГод=“2015”>
<Всего СумНДСВыч=“43.95”/>
СвКнПок>
<СвПокупка НомПП=“1” НомерСчФ=“1-12” ДатаСчФ=“01.04.2015” НаимПрод=“ООО ”Автоскан“” ИННЮЛ=“4203247533” КПП=“420501111” СтТовУчНалВсего=“1500.00”>
<КодВидОпер>01КодВидОпер>
<ДатаПринУчет>01.04.2015ДатаПринУчет>
<СумНДСВыч>
<СумНДС>228.81СумНДС>
СумНДСВыч>
СвПокупка>
<СвПокупка НомПП=“2” НомерСчФ=“73/1804” ДатаСчФ=“02.04.2015” НаимПрод=“ООО ”Сна“” ИННЮЛ=“7711790000” КПП=“42” СтТовУчНалВсего=“11112.51”>
<КодВидОпер>01КодВидОпер>
<ДатаПринУчет>02.04.2015ДатаПринУчет>
<СумНДСВыч>
<СумНДС>1695.13СумНДС>
СумНДСВыч>
СвПокупка>
<СвПокупка НомПП=“3” НомерСчФ=“135” ДатаСчФ=“02.04.2015” НаимПрод=“ООО ”Вла“” ИННЮЛ=“42” КПП=“421” СтТовУчНалВсего=“2310.00”>
<КодВидОпер>01КодВидОпер>
<ДатаПринУчет>02.04.2015ДатаПринУчет>
<СумНДСВыч>
<СумНДС>352.37СумНДС>
СумНДСВыч>
СвПокупка>
<СвПокупка НомПП=“5” НомерСчФ=“Меж12015131786/27” ДатаСчФ=“03.04.2015” НаимПрод=“ООО ”Р“” ИННЮЛ=“54” КПП=“42” СтТовУчНалВсего=“840.00”>
<КодВидОпер>01КодВидОпер>
<ДатаПринУчет>03.04.2015ДатаПринУчет>
<СумНДСВыч>
<СумНДС>128.14СумНДС>
СумНДСВыч>
СвПокупка>
<Подписант ПрПодп=“1”>
<ФИО Фамилия=“Кир” Имя=“Ан” Отчество=“Ал”/>
Подписант>
Документ>
Файл>

Нужно отсортировать его по атрибуту ДатаСчФ в порядке возрастания
Предложите как это можно сделать на python?
ayb
Вот тут показано как это делается.
Budulianin
kdp_k
Нужно отсортировать его по атрибуту ДатаСчФ в порядке возрастания
Предложите как это можно сделать на python?

Простой способ:
проходишься по СвПокупка(парсишь файл через lxml) и собираешь структуру типа
 [(datetime(ДатаСчФ), "указатель на СвПокупкаN"), ...]
А потом сортируешь по первому элементу, через функцию sorted например.

Посложнее:
Начинаешь идти по элементам СвПокупка, берёшь у каждого datetime(ДатаСчФ) и проверяешь уже все
отсортированные, ну и находишь куда именно в отсортированный список пихнуть новый элемент.
Так за один проход по всем СвПокупка, получаешь отсортированный список.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB