Page 1 of 1

Python library for parsing CSPro dictionary and cases

Posted: October 16th, 2019, 3:24 am
by nahomt
Greetings everyone,
We here at UNECA have created a python library to parse CSPro dictionaries and cases.
It is called pyCSPro and you can find it here:
https://pypi.org/project/pycspro/

There is also a writeup that explains how it was made and how it works, here:
https://medium.com/@nahomt/working-with ... 6161b84ffa

We welcome all comments and contributions.
Thanks
Nahom

Re: Python library for parsing CSPro dictionary and cases

Posted: October 21st, 2019, 2:55 am
by etuser
I don't now much about python but, what is the advantage of parsing Cspro data to Python, there are many tools in Cspro that can parse data to different format like Spss,Stata, CSV ,SAS, R....., can't we import this data to python environment directly?

Re: Python library for parsing CSPro dictionary and cases

Posted: October 23rd, 2019, 2:38 am
by nahomt
While CSPro offers various tools to parse and format the data, we first need to pull it down from CSWeb and then CSPro needs to do a lot of data processing...
For instance, while we are conducting a census or survey, we basically have no easy way to introspect the data. We can use this library to parse and then view the data "on the fly".
One common use case would be a dashboard to monitor the progress and watch the data while the exercise is in progress.

Re: Python library for parsing CSPro dictionary and cases

Posted: October 23rd, 2019, 6:47 pm
by htuser
Dear Nahomt,
Thank you for this library it will be very useful for us. And, you're right about lack of dashboard. Unfortunately the CSPro Developer Team is a very small team who can't implement requested features so quickly.

Hopefully the Developer Team is thinking about Dashboard. I think that in a future, not too far, we'll have:
a) sample , example, how to, about dashboard, so, well be able to customize simple to advanced dashboard;
b) relational database (data parsed on multiple relational tables: Record as table and item as column name) on CSWeb.
So we would be able to easily perform live connect to the CSWeb's database and gather data to with :
https://pynative.com/python-mysql-database-connection/
https://pythontic.com/pandas/serialization/mysql
https://riptutorial.com/pandas/topic/88 ... -dataframe

and using all's python features for data processing and analysis.

And more, once we have relational database on CSWeb we would be able to use several open source dashboard project, also, commercial, to display items, indicators from data collected through CSPro applications:

https://superset.incubator.apache.org/
https://github.com/apache/incubator-superset
https://www.knime.com
https://shiny.rstudio.com/ 
https://github.com/rstudio/shiny  

Best Regards,