import sproc.xml
import pprint
structure
Basic functionality related to the structure of the (XML) data
For testing purposes
Some hardwired metadata: the base URLs and file names for every kind of file hosted (the final /
at the end of each base_url
is required for urllib.parse.urljoin
below to work correctly), and the naming scheme.
pprint.PrettyPrinter().pprint(tables)
{'insiders': {'base_filename': 'licitacionesPerfilesContratanteCompleto3_',
'base_url': 'https://contrataciondelsectorpublico.gob.es/sindicacion/sindicacion_643/',
'naming_filename': 'insiders_minors.yaml'},
'minors': {'base_filename': 'contratosMenoresPerfilesContratantes_',
'base_url': 'https://contrataciondelsectorpublico.gob.es/sindicacion/sindicacion_1143/',
'naming_filename': 'insiders_minors.yaml'},
'outsiders': {'base_filename': 'PlataformasAgregadasSinMenores_',
'base_url': 'https://contrataciondelsectorpublico.gob.es/sindicacion/sindicacion_1044/',
'naming_filename': 'outsiders.yaml'}}
Sample data
Directory where the data (XML files) are stored
= pathlib.Path.cwd().parent / 'samples'
directory assert directory.exists()
directory
PosixPath('/home/manu/Sync/UC3M/proyectos/2022/nextProcurement/sproc/samples')
A (sample) file in that directory
= directory / 'PlataformasAgregadasSinMenores_20220104_030016_1.atom'
xml_file assert xml_file.exists()
xml_file
PosixPath('/home/manu/Sync/UC3M/proyectos/2022/nextProcurement/sproc/samples/PlataformasAgregadasSinMenores_20220104_030016_1.atom')
= sproc.xml.to_df(xml_file)
df df
id | summary | title | updated | ContractFolderStatus - ContractFolderID | ContractFolderStatus - ContractFolderStatusCode | ContractFolderStatus - LocatedContractingParty - BuyerProfileURIID | ContractFolderStatus - LocatedContractingParty - Party - PartyName - Name | ContractFolderStatus - LocatedContractingParty - ParentLocatedParty - PartyName - Name | ContractFolderStatus - ProcurementProject - Name | ... | ContractFolderStatus - LegalDocumentReference - Attachment - ExternalReference - URI | ContractFolderStatus - TechnicalDocumentReference - ID | ContractFolderStatus - TechnicalDocumentReference - Attachment - ExternalReference - URI | ContractFolderStatus - ProcurementProject - PlannedPeriod - StartDate | ContractFolderStatus - ProcurementProject - PlannedPeriod - EndDate | ContractFolderStatus - LocatedContractingParty - Party - PartyIdentification - ID | ContractFolderStatus - LocatedContractingParty - ParentLocatedParty - ParentLocatedParty - PartyName - Name | ContractFolderStatus - TenderingProcess - ParticipationRequestReceptionPeriod - EndDate | ContractFolderStatus - TenderingProcess - ParticipationRequestReceptionPeriod - EndTime | ContractFolderStatus - TenderResult - AwardedTenderedProject - ProcurementProjectLotID | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | https://contrataciondelestado.es/sindicacion/P... | Id licitación: C. 2-2021; Órgano de Contrataci... | L'objecte del contracte és la renovació de tot... | 2022-01-03T01:11:41.826+01:00 | C. 2-2021 | ADJ | https://contractaciopublica.gencat.cat/ecofin_... | Ajuntament de Sant Ramon | Entitats municipals de Catalunya | L'objecte del contracte és la renovació de tot... | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
1 | https://contrataciondelestado.es/sindicacion/P... | Id licitación: 8128_3/2021; Órgano de Contrata... | Obras de restauración hidromorfológica del río... | 2022-01-03T01:00:11.194+01:00 | 8128_3/2021 | PUB | NaN | Pleno del Ayuntamiento | AYUNTAMIENTO DE MONREAL | Obras de restauración hidromorfológica del río... | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2 | https://contrataciondelestado.es/sindicacion/P... | Id licitación: 1000_0005-CP01-2021-000063; Órg... | Contrato del servicio de realización de labore... | 2022-01-03T01:00:10.399+01:00 | 1000_0005-CP01-2021-000063 | EV | NaN | El Director General de Comunicación y Relacion... | Departamento de Presidencia, Igualdad, Función... | Contrato del servicio de realización de labore... | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
3 | https://contrataciondelestado.es/sindicacion/P... | Id licitación: 1379/2020 4738; Órgano de Contr... | Obres de renovació de l'enllumenat públic a la... | 2022-01-03T00:11:40.740+01:00 | 1379/2020 4738 | EV | https://contractaciopublica.gencat.cat/ecofin_... | Ajuntament de Canet de Mar | Entitats municipals de Catalunya | Obres de renovació de l'enllumenat públic a la... | ... | https://contractaciopublica.gencat.cat/ecofin_... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4 | https://contrataciondelestado.es/sindicacion/P... | Id licitación: 2021-44; Órgano de Contratación... | Subministre i la instal·lació fotovoltaica en ... | 2022-01-03T00:11:40.696+01:00 | 2021-44 | EV | https://contractaciopublica.gencat.cat/ecofin_... | Ajuntament de Valls | Entitats municipals de Catalunya | Subministre i la instal·lació fotovoltaica en ... | ... | https://contractaciopublica.gencat.cat/ecofin_... | Enllac plec clausules tecniques.doc | https://contractaciopublica.gencat.cat/ecofin_... | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
112 | https://contrataciondelestado.es/sindicacion/P... | Id licitación: 1005_391-2021; Órgano de Contra... | Apoyo a la gestión del patrimonio filmográfico... | 2021-12-31T01:00:14.946+01:00 | 1005_391-2021 | PUB | NaN | Dirección General de Cultura-Institución Prínc... | Departamento de Cultura, Deporte y Juventud | Apoyo a la gestión del patrimonio filmográfico... | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
113 | https://contrataciondelestado.es/sindicacion/P... | Id licitación: 8165_3/2021; Órgano de Contrata... | Asistencia técnica para la prestación del serv... | 2021-12-31T01:00:14.393+01:00 | 8165_3/2021 | EV | NaN | Mancomunidad de Servicios Sociales de Base de ... | MANCOMUNIDAD DE SERVICIOS DE HUARTE Y DE ESTER... | Asistencia técnica para la prestación del serv... | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
114 | https://contrataciondelestado.es/sindicacion/P... | Id licitación: 8113_3/2021; Órgano de Contrata... | Contrato de servicios de desinfección, desinse... | 2021-12-31T01:00:13.594+01:00 | 8113_3/2021 | EV | NaN | Subdirector de Gestión y Recursos | Agencia Navarra para la Dependencia | Contrato de servicios de desinfección, desinse... | ... | NaN | NaN | NaN | 2022-01-01 | 2022-12-31 | NaN | NaN | NaN | NaN | NaN |
115 | https://contrataciondelestado.es/sindicacion/P... | Id licitación: 8113_01 2021; Órgano de Contrat... | Contrato del Servicio de Teleasistencia para l... | 2021-12-31T01:00:12.604+01:00 | 8113_01 2021 | EV | NaN | Agencia Navarra de Autonomía y Desarrollo de l... | Agencia Navarra para la Dependencia | Contrato del Servicio de Teleasistencia para l... | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
116 | https://contrataciondelestado.es/sindicacion/P... | Id licitación: 0001264/2021; Órgano de contrat... | 2021/pa-44-4 servicio de mantenimiento integra... | 2021-12-31T00:14:15.739+01:00 | 0001264/2021 | RES | NaN | Agencia Pública Empresarial Sanitaria Bajo Gua... | Junta de Andalucía | 2021/pa-44-4 servicio de mantenimiento integra... | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
117 rows × 38 columns