TED (Tenders Electronic Daily) - это онлайн -версия «Дополнения к официальному журналу» ЕС, посвященной европейским государственным закупкам.
TED предоставляет бесплатный доступ к уведомлениям о государственных закупках от контрактных органов, базирующихся в Европейском Союзе и в Европейском экономическом районе (также, если они предоставляют услуги в любой другой стране).
Веб -сайт TED в настоящее время предлагает массовые загрузки пакетов XML, датируемые 1993 году, которые можно найти на FTP FTP://ted.europa.eu/, доступный с общими учетными данными (гость/гость).
Этот репо содержит списание для извлечения и разбора уведомлений о заключении контракта , то есть результаты процедуры закупок. Сценарии были полностью протестированы для извлечения всех уведомлений о вознаграждениях по контракту за 2014, 2015 и 2016 годы. Документы извлекаются в виде словарей Python, которые можно сохранить в базе данных MongoDB для удобного поиска или дополнительно нормализованы для преобразования в CSV.
На изображении ниже показан пример документа, как показано на веб -сайте TED.

Пример извлеченных данных (из того же документа выше):
{
'DOC_ID': '466898-2016',
'CODED_DATA': {
'NOTICE_DATA': {
'IA_URL_GENERAL': 'www.ekz.ch',
'ISO_COUNTRY': 'CH',
'NO_DOC_OJS': '2016/S 253-466898',
'ORIGINAL_CPV': ['79970000'],
'REF_NOTICE': ['2016/S 172-310484']
},
'CODIF_DATA': {
'AA_AUTHORITY_TYPE': '4',
'AC_AWARD_CRIT': 'Z',
'DS_DATE_DISPATCH': '20161230',
'MA_MAIN_ACTIVITIES': ['Z'],
'NC_CONTRACT_NATURE': '4',
'PR_PROC': '2',
'RP_REGULATION': '7',
'TD_DOCUMENT_TYPE': '7',
'TY_TYPE_BID': '9'
}
},
'CONTRACT': {
'OTH_NOT': 'NO',
'CONTRACTING_AUTHORITY': 'Elektrizitätswerke des Kantons Zürich',
'CONTRACT_OBJECT': {
'CONCLUSION_FRAMEWORK_AGREEMENT': 'NO',
'CONTRACTS_DPS': 'NO',
'CONTRACT_COVERED_GPA': 'YES',
'CPV_MAIN': '79970000'
}
},
'AWARDS_OF_CONTRACT': [
{
'CONTRACTOR': {
'ADDRESS': 'Mühlebachstraße 52',
'COUNTRY': 'CH',
'OFFICIALNAME': 'Linkgroup AG',
'POSTAL_CODE': '8008',
'TOWN': 'Zürich'
},
'CONTRACT_VALUE': {
'COST': {
'CURRENCY': 'CHF',
'VALUE': 700000.0
}
}
}
]
}
Поля и описание извлеченных данных
| Поле | Тип данных | Описание |
|---|---|---|
| Doc_id | Нить | Уникальный номер документа в TED. |
Раздел CODED_DATA разделен на 2 группы данных.
| Поле | Тип данных | Описание |
|---|---|---|
| No_doc_ojs | Нить | Номер уведомления в TED |
| Original_nuts | Список (строка) | Код региона (ы) места производительности или доставки. 2-5 цифр кодекса номенклатуры территориальных подразделений для статистики . Значения поиска для первых двух цифр: iso_country.csv |
| Original_cpv | Список (строка) | Продукт или услуга 8 цифр кода (ы) общего словаря закупок . Значения поиска для первых двух цифр: cpv.csv |
| Iso_country | Нить | 2-характер ISO код страны, где находится контрактный орган. Значения поиска: iso_country.csv |
| Ia_url_general | Нить | Основной интернет -адрес (URL) контрактного органа |
| Ref_notice | Список (строка) | Справочный номер уведомления в TED. Ссылка на предыдущую публикацию (предварительная информация, Corrigendum, ...) |
| Values_list | Общая стоимость | Расчетное общее количество (ы) или общее конечное значение закупок |
Value_list может быть составлен из следующих полей:
| Поле | Тип данных | Описание |
|---|---|---|
| Global_value | Ценить | Общая стоимость тендера. Должен равняться сумме в списке Contracts_value |
| Contracts_value | Список (значение) | Индивидуальная стоимость наград. Это происходит, когда контракт состоит из нескольких частей или лотов. |
Каждое значение может быть единственным или диапазоном и может иметь процент НДС
| Поле | Тип данных | Описание |
|---|---|---|
| ВАЛЮТА | Нить | Валюта значения |
| ЦЕНИТЬ | Плавать | Ценить |
| Vat_prct | Инт | Процент НДС |
| Поле | Тип данных | Описание |
|---|---|---|
| ВАЛЮТА | Нить | Валюта значения |
| Low_value | Плавать | Более низкое значение диапазона |
| High_value | Плавать | Более высокое значение диапазона |
| Vat_prct | Инт | Процент НДС |
| Поле | Тип данных | Описание |
|---|---|---|
| Ds_date_dispatch | Нить | Дата отправки уведомления. Формат: yyyymmdd |
| Td_document_type | Нить | Тип документа. Значения поиска: td_document_type.csv |
| Aa_authority_type | Нить | Тип присуждения полномочий. Значения поиска: aa_authority_type.csv |
| Nc_contract_nature | Нить | Природа контракта. Значения поиска: nc_contract_nature.csv |
| Pr_proc | Нить | Тип процедуры. Значения поиска: pr_proc.csv |
| Rp_regulation | Нить | Регламент, который применяется к процедуре. Значения поиска: rp_regulation.csv |
| Ty_type_bid | Нить | Тип ставки. Значения поиска: ty_type_bid.csv |
| Ac_award_crit | Нить | Тип критериев присуждения. Значения поиска: AC_AWARD_CRIT.CSV |
| Ma_main_activities | Список (строка) | Основная деятельность сокращающегося органа. Значения поиска: ma_main_activities.csv |
Раздел контракта содержит само уведомление, в формате XML. В исходном XML -файле этот раздел может быть доступен в разных переводах, до 24, когда полностью переведен. Если доступно, английский перевод контракта является предпочтительным. В противном случае французский и немецкий становятся вторым и третьим выбором соответственно. Когда какой -либо из этих переводов не присутствует, первая доступная выбран.
| Поле | Тип данных | Описание |
|---|---|---|
| Oth_not | Нить | Укажите, следует ли уведомление следить за стандартной структурой (тогда OTH_NOT = NO ) или структура открыта, чтобы разрешить публикацию любого другого уведомления, которое не соответствует стандартной форме, также неструктурированному уведомлению (тогда OTH_NOT = Да ). Только когда OTH_NOT = NO , извлечены поля Contracting_Authority, Contract_object и Agards_of_contract |
| Поле | Тип данных | Описание |
|---|---|---|
| Contracting_authority | Нить | Название договорного полномочия |
Объект контракта.
| Поле | Тип данных | Описание |
|---|---|---|
| Ореховой | Список (строка) | Код региона (ы) места производительности или доставки. 2-5 цифр кодекса номенклатуры территориальных подразделений для статистики . Значения поиска для первых двух цифр: iso_country.csv |
| Nuts_extra | Нить | Дополнительные извлеченные комментарии о месте производительности или доставки |
| Cpv_main | Нить | Основной продукт или сервис 8 цифр кода общего словаря закупок . Значения поиска для первых двух цифр: cpv.csv |
| CONTROK_COVERED_GPA | Нить | Да или нет, если контракт покрывается GPA (соглашение о закупках государственного обеспечения) |
| Заключение_FRAMEWORD_AGEREMENT | Нить | Да или нет, если контракт является частью рамочного соглашения |
| Contracts_dps | Нить | Да или нет , если контракт подлежит динамичной системе закупок |
| Contract_value | Стоимость контракта | Общая стоимость. Должен соответствовать сумме значений контракта отдельного подрядчика. См. Раздел Awards_of_contract |
Каждое значение контракта может состоять из следующих полей:
| Поле | Тип данных | Описание |
|---|---|---|
| РАСХОДЫ | Ценить | Фактическая стоимость |
| ОЦЕНИВАТЬ | Ценить | Первоначальная оценка стоимости |
| Number_of_years | Инт | Количество года контракт длится. Стоимость/оценка может быть дана в год |
| Number_of_months | Инт | Количество месяца контракт длится. Стоимость/оценка может быть дана в месяц |
Поля такие же, как упомянуто выше. См. Тип значения раздела
Список наград.
Каждая награда может содержать следующие подразделы:
| Поле | Тип данных | Описание |
|---|---|---|
| Официальное имя | Нить | Имя подрядчика |
| СТРАНА | Нить | Страна подрядчика |
| АДРЕС | Нить | Адрес (название улицы) подрядчика |
| ГОРОД | Нить | Город подрядчика |
| ПОЧТОВЫЙ ИНДЕКС | Нить | Почтовый кодекс подрядчика |
Поля такие же, как упомянуто выше. См. Раздел 3.3.1 Contract_value
Требуются модули Python:
Необязательный:
Версия Python: 3.6 База данных: MongoDB, локальный режим
Пример того, как преобразовать документ
file_path = '454322_2015.xml' # Contract Award notice downloaded from tED website
# Extract the raw data
from extractor import extract
raw = extract ( file_path )
# Validate the raw data
from validator import validate
data = validate ( raw )
# Prune the data: remove empty fields
from validator import prune
prune ( data )Структура хранилища:
.
├── Lookups
│ └── AA_AUTHORITY_TYPE.csv
│ └── AC_AWARD_CRIT.csv
│ └── CPV.csv
│ └── ISO_COUNTRY.csv
│ └── MA_MAIN_ACTIVITY.csv
│ └── NC_CONTRACT_NATURE.csv
│ └── PR_PROC.csv
│ └── RP_REGULATION.csv
│ └── TD_DOCUMENT_TYPE.csv
│ └── TY_TYPE_BID.csv
├── extractor.py
└── validator.py
└── mongo_import.py
Lookups : папка, содержащая различные файлы поискаextractor.py : скрипт для извлечения необработанных данных из уведомлений о вложении контрактаvalidator.py : сценарии для проверки необработанных данных и обрезки словаря (то есть удалить пустые поданы)mongo_import.py : скрипт для загрузки данных в базу данных MongoDB Алессандра Соцци, работая в Офис для национальной статистики проекта больших данных
Выпущено по лицензии MIT.