TED (ประมูลอิเล็กทรอนิกส์รายวัน) เป็นเวอร์ชันออนไลน์ของ 'ภาคผนวกสู่วารสารอย่างเป็นทางการ' ของสหภาพยุโรปซึ่งอุทิศให้กับการจัดหาสาธารณะในยุโรป
TED ให้การเข้าถึงประกาศการจัดซื้อจัดจ้างสาธารณะฟรีจากหน่วยงานที่ทำสัญญาซึ่งตั้งอยู่ในสหภาพยุโรปและในเขตเศรษฐกิจยุโรป (เช่นหากพวกเขาให้บริการในประเทศอื่น ๆ )
ปัจจุบันเว็บไซต์ TED เสนอการดาวน์โหลดจำนวนมากของแพ็คเกจ XML ย้อนหลังไปถึงปี 1993 ซึ่งสามารถพบได้ใน FTP FTP://ted.europa.eu/ สามารถเข้าถึงได้ด้วยข้อมูลรับรองทั่วไป (แขก/แขก/แขก)
repo นี้มีสกรูเพื่อแยกและแยกวิเคราะห์ประกาศ รางวัลสัญญา TED เช่นผลลัพธ์ของขั้นตอนการจัดหา สคริปต์ได้รับการทดสอบอย่างเต็มที่เพื่อแยกประกาศรางวัลสัญญาทั้งหมดสำหรับปี 2014, 2015 และ 2016 เอกสารถูกสกัดเป็นพจนานุกรม Python ซึ่งสามารถบันทึกไว้ในฐานข้อมูล MongoDB เพื่อการดึงข้อมูลได้ง่าย
ภาพด้านล่างแสดงตัวอย่างของเอกสารดังที่แสดงในเว็บไซต์ 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-characters รหัส ISO ของประเทศที่มีการทำสัญญา ค่าการค้นหา: iso_country.csv |
| ia_url_general | สาย | ที่อยู่อินเทอร์เน็ตหลัก (URL) ขององค์กรที่ทำสัญญา |
| ref_notice | รายการ (สตริง) | หมายเลขประกาศอ้างอิงใน TED การอ้างอิงสิ่งพิมพ์ก่อนหน้า (ข้อมูลก่อนหน้า, Corrigendum, ... ) |
| value_list | มูลค่ารวม | มูลค่ารวมโดยประมาณหรือมูลค่ารวมสุดท้ายของการจัดซื้อ |
value_list สามารถประกอบด้วยฟิลด์ต่อไปนี้:
| สนาม | ชนิดข้อมูล | คำอธิบาย |
|---|---|---|
| global_value | ค่า | มูลค่ารวมของการประกวดราคา ควรเท่ากับผลรวมของรายการในสัญญา _value |
| สัญญา _value | รายการ (ค่า) | ค่ารางวัลส่วนบุคคล สิ่งนี้เกิดขึ้นเมื่อสัญญาประกอบด้วยหลายส่วนหรือล็อต |
แต่ละค่าอาจเป็นค่าเดียวหรือช่วงและสามารถมีเปอร์เซ็นต์ภาษีมูลค่าเพิ่ม
| สนาม | ชนิดข้อมูล | คำอธิบาย |
|---|---|---|
| สกุลเงิน | สาย | สกุลเงินของมูลค่า |
| ค่า | ลอย | ค่า |
| VAT_PRCT | int | เปอร์เซ็นต์ภาษีมูลค่าเพิ่ม |
| สนาม | ชนิดข้อมูล | คำอธิบาย |
|---|---|---|
| สกุลเงิน | สาย | สกุลเงินของมูลค่า |
| low_value | ลอย | ค่าที่ต่ำกว่าของช่วง |
| High_value | ลอย | ค่าที่สูงขึ้นของช่วง |
| VAT_PRCT | int | เปอร์เซ็นต์ภาษีมูลค่าเพิ่ม |
| สนาม | ชนิดข้อมูล | คำอธิบาย |
|---|---|---|
| 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 = ไม่ ฟิลด์ที่ทำสัญญา _authority, contract_object และ Awards_of_contract ถูกสกัด |
| สนาม | ชนิดข้อมูล | คำอธิบาย |
|---|---|---|
| Contracting_authority | สาย | ชื่อของหน่วยงานที่ทำสัญญา |
เป้าหมายของสัญญา
| สนาม | ชนิดข้อมูล | คำอธิบาย |
|---|---|---|
| ถั่ว | รายการ (สตริง) | รหัสภูมิภาคของสถานที่หรือส่งมอบ รหัส 2-5 หลักของ ระบบการตั้งชื่อของหน่วยดินแดนสำหรับสถิติ ค่าการค้นหาสำหรับสองหลักแรก: iso_country.csv |
| ถั่ว _extra | สาย | ความคิดเห็นที่แยกเพิ่มเติมเกี่ยวกับสถานที่หรือส่งมอบ |
| cpv_main | สาย | ผลิตภัณฑ์หลักหรือบริการ 8 หลักรหัสของ คำศัพท์การจัดหาทั่วไป ค่าการค้นหาสำหรับสองหลักแรก: cpv.csv |
| Contract_covered_gpa | สาย | ใช่ หรือ ไม่ ถ้าสัญญาครอบคลุมโดยเกรดเฉลี่ย (ข้อตกลงการจัดซื้อจัดจ้างของรัฐบาล) |
| สรุป _framework_agreement | สาย | ใช่ หรือ ไม่ ถ้าสัญญาเป็นส่วนหนึ่งของข้อตกลงกรอบงาน |
| สัญญา _dps | สาย | ใช่ หรือ ไม่ ถ้าสัญญาอยู่ภายใต้ระบบการจัดซื้อแบบไดนามิก |
| Contract_value | มูลค่าตามสัญญา | มูลค่ารวม ควรสอดคล้องกับผลรวมของค่าสัญญาของผู้รับเหมาแต่ละราย ดู Section Awards_of_contract |
แต่ละมูลค่าสัญญาสามารถประกอบด้วยฟิลด์ต่อไปนี้:
| สนาม | ชนิดข้อมูล | คำอธิบาย |
|---|---|---|
| ค่าใช้จ่าย | ค่า | ค่าใช้จ่ายจริง |
| ประมาณการ | ค่า | ประมาณการเริ่มต้นของค่าใช้จ่าย |
| number_of_years | int | จำนวนปีสัญญาล่าสุด ค่าใช้จ่าย/ประมาณการอาจได้รับต่อปี |
| number_of_months | int | จำนวนเดือนสัญญาล่าสุด ค่าใช้จ่าย/ประมาณการอาจได้รับต่อเดือน |
ฟิลด์เหมือนกับที่กล่าวไว้ข้างต้น ดูประเภทข้อมูลค่าส่วน
รายชื่อรางวัล
แต่ละรางวัลสามารถมีส่วนย่อยต่อไปนี้:
| สนาม | ชนิดข้อมูล | คำอธิบาย |
|---|---|---|
| ชื่อเป็นทางการ | สาย | ชื่อของผู้รับเหมา |
| ประเทศ | สาย | ประเทศผู้รับเหมา |
| ที่อยู่ | สาย | ที่อยู่ (ชื่อถนน) ของผู้รับเหมา |
| เมือง | สาย | เมืองผู้รับเหมา |
| postal_code | สาย | รหัสไปรษณีย์ของผู้รับเหมา |
ฟิลด์เหมือนกับที่กล่าวไว้ข้างต้น ดูหัวข้อ 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 Alessandra Sozzi ทำงานให้กับสำนักงานสถิติแห่งชาติโครงการข้อมูลขนาดใหญ่
ปล่อยภายใต้ใบอนุญาต MIT