ExtracTED
1.0.0
TED(Tenders Electronic Daily)是歐盟的“官方雜誌”的在線版本,專門針對歐洲公共採購。
TED可以免費訪問歐盟和歐洲經濟領域的合同當局的公共採購通知(如果它們在任何其他國家提供服務)。
TED網站當前提供可追溯至1993年的XML軟件包的大量下載,可在FTP ftp://ted.europa.eu/上找到,可訪問通用憑證(訪客/訪客)。
該倉庫包含提取和解析TED合同獎勵通知的腳本,即採購程序的結果。這些腳本已經過全面測試,以提取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部分分為兩組數據。
| 場地 | 數據類型 | 描述 |
|---|---|---|
| no_doc_ojs | 細繩 | TED中的通知號 |
| 原始_nuts | 列表(字符串) | 績效或交付地點的區域代碼。 2-5位數字的統計領土單位命名法代碼。前兩個數字的查找值:iso_country.csv |
| 原始_cpv | 列表(字符串) | 共同採購詞彙的產品或服務8位代碼。前兩個數字的查找值:cpv.csv |
| iso_country | 細繩 | 締約機構所在的國家的2個字符ISO代碼。查找值:iso_country.csv |
| ia_url_general | 細繩 | 承包機構的主要互聯網地址(URL) |
| ref_notice | 列表(字符串) | TED中的參考通知號。引用以前的出版物(先驗信息,誤目,...) |
| values_list | 總價值 | 估計的總價值或採購的總價值 |
values_list可以由以下字段組成:
| 場地 | 數據類型 | 描述 |
|---|---|---|
| global_value | 價值 | 招標的總價值。應等於合同列表中的總和 |
| Contracts_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 = yes )。僅當oth_not = no時,提取了contract_authority,Contract_Object和Awards_of_contract |
| 場地 | 數據類型 | 描述 |
|---|---|---|
| Contracting_authority | 細繩 | 合同機構的姓名 |
合同的對象。
| 場地 | 數據類型 | 描述 |
|---|---|---|
| 堅果 | 列表(字符串) | 績效或交付地點的區域代碼。 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 |
每個合同價值可以由以下字段組成:
| 場地 | 數據類型 | 描述 |
|---|---|---|
| 成本 | 價值 | 實際成本 |
| 估計 | 價值 | 成本的初步估計 |
| number_of_years | int | 合同持續的年度。每年可能給出的成本/估計 |
| number_of_months | int | 合同最後一個月。每月可能給出的成本/估計 |
字段與上面提到的相同。請參閱節值數據類型
獎項清單。
每個獎項可以包含以下部分:
| 場地 | 數據類型 | 描述 |
|---|---|---|
| 官方名稱 | 細繩 | 承包商的名稱 |
| 國家 | 細繩 | 承包商國家 |
| 地址 | 細繩 | 承包商的地址(街道名稱) |
| 鎮 | 細繩 | 承包商鎮 |
| 郵遞區號 | 細繩 | 郵政承包商守則 |
字段與上面提到的相同。請參閱第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許可發布。