Уведомления

Группа в Telegram: @pythonsu

#1 Июль 9, 2015 07:13:41

kdp_k
Зарегистрирован: 2015-07-09
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Как отсортировать xml список по дате на python?

Есть 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?

Офлайн

#2 Июль 9, 2015 10:59:09

ayb
Зарегистрирован: 2014-04-01
Сообщения: 297
Репутация: +  24  -
Профиль   Отправить e-mail  

Как отсортировать xml список по дате на python?

Вот тут показано как это делается.

Офлайн

#3 Июль 10, 2015 18:04:16

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Как отсортировать xml список по дате на python?

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

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

Посложнее:
Начинаешь идти по элементам СвПокупка, берёшь у каждого datetime(ДатаСчФ) и проверяешь уже все
отсортированные, ну и находишь куда именно в отсортированный список пихнуть новый элемент.
Так за один проход по всем СвПокупка, получаешь отсортированный список.



Отредактировано Budulianin (Июль 10, 2015 18:05:41)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version