Parseo datos contratación del estado

22 views
Skip to first unread message

Jose Maria Martin

unread,
Mar 22, 2021, 6:20:55 PM3/22/21
to civio-dev
Buenas,

Estaba “jugando” un rato con los contratos centralizados, una pasada como ha subido el AM13/2018 en 2020 y bajado el AM23/2015 (normal, es electricidad), en https://www.kaggle.com/josemariamartin/acuerdos-marco-2020 y hay datos que no me terminan de cuadrar.

Alejandro Riera

unread,
Mar 23, 2021, 4:59:57 AM3/23/21
to Jose Maria Martin, civio-dev
Hola Jose Maria,

No lo he probado yo personalmente, pero veo en el Kaggle que estas usando xml.etree.ElementTree. No se si hay un manera mejor de hacerlo, la verdad. En mi poca experiencia con XML es lo que acab é usando. Y es verdad que es un poco manual, y prueba y error hasta que lo sacas, pero funciona bien. ¿Tienes algún problema en concreto? O simplemente estas buscando una librería en python que te de "mas" trabajo hecho?

Un saludo,

Alex


--
Has recibido este mensaje porque estás suscrito al grupo "civio-dev" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a civio-dev+...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/civio-dev/b70a5359-8362-4db9-aca2-37d48f36e887n%40googlegroups.com.


--
Alejandro Riera

Juan Luis Cano

unread,
Mar 23, 2021, 5:31:30 AM3/23/21
to Alejandro Riera, Jose Maria Martin, civio-dev
Buscando he encontrado https://github.com/NicolasLM/atoma, no tiene mucha documentación pero parece un poco más sencillo que parsear el XML a mano. ¡Espero que te sirva!



--
Juan Luis Cano

Jose Maria Martin

unread,
Mar 23, 2021, 4:28:32 PM3/23/21
to Juan Luis Cano, Alejandro Riera, civio-dev
Gracias!!

Probaré atoma...
Realmente, no sé si para este tipo de atom, que entiendo debe ser común a los contratos públicos, hay ya algún trabajo hecho. Supongo que la gente de Civio se ha tenido que pelear con ellos... Hay algunos datos que me han sido complicados de obtener y no sé si están correctos, por ejemplo, no he sido capaz de "llegar" a cac:ProcurementProject o  cac:TenderResult

Un saludo,
Jose M

David Cabo

unread,
Mar 23, 2021, 5:43:10 PM3/23/21
to Juan Luis Cano, Jose Maria Martin, Alejandro Riera, civio-dev
 Hola, José María,

 Precisamente el artículo que hemos sacado hoy [1] se basa en los datos Atom de Contratación del Estado. No en los “contratos basados en acuerdos marco”, esos no los hemos trabajado, sino en los otros, los “datos abiertos” de licitaciones, tanto para la plataforma nacional como para las autonómicas sindicadas. Tengo pendiente poner un poco de orden en el código y publicarlo, pero hasta entonces encantado de responder cualquier duda.

 Yo en concreto suelo trabajar en Ruby, creo que tú usas Python, no? Hemos tratado los Atom como ficheros XML estándar, que al final es un poco lo que son, así que los hemos paseado con Nokogiri. Creo que el equivalente en Python sería BeautifulSoup.

 Nuestro problema principal no ha sido tanto la estructura del fichero en sí, sino que hay bastantes errores en los datos en sí, y que entender lo que hay ahí no siempre es fácil: los códigos de algunos campos, o qué significan ciertos campos. Además, los datos de la plataforma principal y de las sindicadas no siempre son consistentes. (Las plataformas externas no tienen ProcurementProjectLot por ejemplo). 

 Para cualquier duda concreta aquí estoy. Un saludo,

[1]: https://civio.es/quien-cobra-la-obra/2021/03/23/cuatro-empresas-se-llevaron-uno-de-cada-diez-euros-adjudicados-de-emergencia-en-2020/
[2]: https://nokogiri.org

David Cabo
@dcabo
Director, Fundación Ciudadana Civio
www.civio.es

Ayúdanos a combatir la opacidad → Hazte socio de Civio
Reply all
Reply to author
Forward
0 new messages