TED (Tenders Electronic Daily)는 유럽 공공 조달 전용 EU의 '공식 저널에 대한 보충제'의 온라인 버전입니다.
TED는 유럽 연합과 유럽 경제 지역 (다른 국가에서 서비스를 제공하는 경우)에 기반을 둔 계약 당국의 공공 조달 통지에 대한 무료 액세스를 제공합니다.
TED 웹 사이트는 현재 1993 년으로 거슬러 올라가는 XML 패키지의 대량 다운로드를 제공하며, 이는 일반 자격 증명 (게스트/게스트)으로 액세스 할 수있는 ftp ftp://ted.europa.eu/에서 찾을 수 있습니다.
이 repo에는 TED Contract Award 통지, 즉 조달 절차의 결과를 추출하고 구문 분석 할 수있는 스크립이 포함되어 있습니다. 스크립트는 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 | 끈 | 테드의 고유 한 문서 번호. |
coded_data 섹션은 2 개의 데이터 그룹으로 나뉩니다.
| 필드 | 데이터 유형 | 설명 |
|---|---|---|
| no_doc_ojs | 끈 | 테드의 번호 번호 |
| original_nuts | List (String) | 성능 또는 배송 장소의 지역 코드. 통계에 대한 영토 단위의 명명법 의 2-5 자리 코드. 첫 두 자리에 대한 조회 값 : iso_country.csv |
| original_cpv | List (String) | 제품 또는 서비스 일반 조달 어휘 의 8 자리 코드. 첫 두 자리의 조회 값 : CPV.CSV |
| iso_country | 끈 | 2- 특성 계약 기관이 위치한 국가의 ISO 코드. 조회 값 : iso_country.csv |
| ia_url_general | 끈 | 계약 기관의 주요 인터넷 주소 (URL) |
| ref_notice | List (String) | 테드의 참조 통지 번호. 이전 간행물 참조 (사전 정보, Corrigendum, ...) |
| value_list | 총 가치 | 예상 총 가치 또는 조달의 총 최종 가치 |
value_list는 다음 필드로 구성 될 수 있습니다.
| 필드 | 데이터 유형 | 설명 |
|---|---|---|
| Global_Value | 값 | 입찰의 총 가치. Contracts_Value 목록의 합계와 동일해야합니다 |
| contracts_value | 목록 (값) | 개별 어워드 가치. 이것은 계약이 여러 부품 또는 로트로 구성 될 때 발생합니다. |
각 값은 단일 또는 범위 값이 될 수 있으며 부가가치세 백분율을 가질 수 있습니다.
| 필드 | 데이터 유형 | 설명 |
|---|---|---|
| 통화 | 끈 | 가치의 통화 |
| 값 | 뜨다 | 값 |
| VAT_PRCT | int | VAT 백분율 |
| 필드 | 데이터 유형 | 설명 |
|---|---|---|
| 통화 | 끈 | 가치의 통화 |
| low_value | 뜨다 | 범위의 값이 낮습니다 |
| High_Value | 뜨다 | 범위의 더 높은 값 |
| VAT_PRCT | int | VAT 백분율 |
| 필드 | 데이터 유형 | 설명 |
|---|---|---|
| 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 | List (String) | 계약 기관의 주요 활동. 조회 값 : ma_main_activities.csv |
계약 섹션에는 XML 형식의 통지 자체가 포함되어 있습니다. 원래 XML 파일 에서이 섹션은 완전히 번역 된 경우 최대 24 개까지 다른 번역으로 제공 될 수 있습니다. 가능한 경우 계약의 영어 번역이 선호됩니다. 그렇지 않으면 프랑스와 독일어가 각각 두 번째와 세 번째 선택이됩니다. 이 번역이 없으면 첫 번째 사용 가능한 것을 선택합니다.
| 필드 | 데이터 유형 | 설명 |
|---|---|---|
| OTH_NOT | 끈 | 공지가 표준 구조 ( OTH_NOT = NO )를 따르거나 구조가 열려 있는지 여부를 표시하여 표준 양식, 즉 구조화되지 않은 통지 ( OTH_NOT = 예 )를 따르지 않는 다른 통지를 게시 할 수 있습니다. OTH_NOT = 아니오 인 경우에만 Contracting_Authority, Contract_Object 및 Awards_of_Contract가 추출됩니다. |
| 필드 | 데이터 유형 | 설명 |
|---|---|---|
| Contracting_Authority | 끈 | 계약 기관의 이름 |
계약의 목적.
| 필드 | 데이터 유형 | 설명 |
|---|---|---|
| 견과류 | List (String) | 성능 또는 배송 장소의 지역 코드. 통계에 대한 영토 단위의 명명법 의 2-5 자리 코드. 첫 두 자리에 대한 조회 값 : iso_country.csv |
| Nuts_extra | 끈 | 성능 또는 배송 장소에 대한 추가 추출 의견 |
| CPV_MAIN | 끈 | 일반적인 조달 어휘 의 주요 제품 또는 서비스 8 자리 코드. 첫 두 자리의 조회 값 : CPV.CSV |
| Contract_Covered_gpa | 끈 | 예 또는 아니오 계약이 GPA에 적용되는 경우 (정부 조달 계약) |
| 결론 _framework_agreement | 끈 | 예 또는 아니오 계약이 프레임 워크 계약의 일부인 경우 |
| Contracts_DPS | 끈 | 예 또는 아니오 계약이 동적 구매 시스템이 적용되는 경우 |
| contract_value | 계약 가치 | 총 가치. 개별 계약자의 계약 가치의 합에 해당해야합니다. 섹션 awards_of_contract를 참조하십시오 |
각 계약 가치는 다음 분야로 구성 될 수 있습니다.
| 필드 | 데이터 유형 | 설명 |
|---|---|---|
| 비용 | 값 | 실제 비용 |
| 추정 | 값 | 비용의 초기 추정치 |
| 숫자 _of_years | int | 계약이 지속됩니다. 비용/견적은 매년 주어질 수 있습니다 |
| 숫자 _of_months | int | 계약이 지속됩니다. 한 달에 비용/견적이 제공 될 수 있습니다 |
필드는 위에서 언급 한 것과 동일합니다. 섹션 값 데이터 유형을 참조하십시오
수상 목록.
각상은 다음과 같은 하위 섹션을 포함 할 수 있습니다.
| 필드 | 데이터 유형 | 설명 |
|---|---|---|
| 공식 이름 | 끈 | 계약자의 이름 |
| 국가 | 끈 | 계약자 국가 |
| 주소 | 끈 | 계약자의 주소 (거리 이름) |
| 도시 | 끈 | 계약자 마을 |
| postal_code | 끈 | 계약자의 우편 번호 |
필드는 위에서 언급 한 것과 동일합니다. 섹션 3.3.1 Contract_Value를 참조하십시오
필요한 파이썬 모듈 :
선택 과목:
파이썬 버전 : 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 데이터베이스에서 데이터를 업로드하는 스크립트 Alessandra Sozzi, National Statistics Big Data Project 사무소
MIT 라이센스에 따라 릴리스.