glendaqm / Llbean_data_science

Programa Analista de Datos
0 stars 0 forks source link

Propuesta proyecto #1

Open glendaqm opened 5 years ago

glendaqm commented 5 years ago

Hola profe,

Qué le parece ésta idea para proyecto del curso:

A dónde trabajo, el departamento de HR gasta mucho tiempo en crear constancias salariales y otros documentos de este tipo para los empleados, y les gustaría tener una manera más automatizada y menos manual de hacerlo, donde por ejemplo, nada mas pongan la cédula en un programa y el tipo de documento a emitir, y ese programa tome la info necesaria, haga cálculos de deducciones de salario, consulte un archivo de embargos y de datos personales y ponga esa info en un machote y produzca el documento solicitado por el empleado.

¿Qué le parece?

Gracias!

glendaqm commented 5 years ago

Profe,

Conforme a lo conversado el Martes, he estado investigando sobre los APIs y Phyton y tambien la manipulacion de documentos de Word con Python. Hasta me gustaria construir el REST service con Python. Queria que viera la info y si me puede decir que le parece seria genial para ver si empiezo a codificar la solucion. Empezaria con un template simple y con datos simples para hacer un piloto. Puedo poner los datos en un excel y que el API los lea de ahi o le gustaria que los queme en el service o los lea de una base de datos?

Meter info en un template de Word: https://pbpython.com/python-word-template.html

Como hacer un request a un API y decodificar la respuesta JSON en Python

https://2.python-requests.org//en/latest/user/quickstart/

Framework para construir Restful APIs usando Python

https://docs.python-eve.org/en/stable/

ericksc commented 5 years ago

me parece excelente. un buen proyecto

glendaqm commented 5 years ago

Gracias! Profe vieras que para crear el API necesito instalar algunas librerias. Hay varias que me sirven como Eve y CherryPy, y para ambas los articulos dicen que las instale con este comando:

$ pip install eve

pip install CherryPy

Yo me fije en PyCharm y si tengo la libreria pip, pero me da un error que creo que es por permisos... pero queria su opinion.

image

image

ericksc commented 5 years ago

Buenos días,

Te pongo un par de comentarios:

El tema de pip: Es el gestor, administrador de paquetes (componentes adiciones que se le puede instalar a cualquier ambiente de Python).

Si ocupas instalar algún paquete, por ejemplo: CherryPy basta con ejecutar: (Pero en consola o algún gestor de paquetes. Pycharm tiene uno) Normalmente requiere conexión a internet y todos sus colaterales de permisos. pip install CherryPy

Note: pip install NO es una instrucción que estaría en un script o programa de Python. osea en un .py file

ericksc commented 5 years ago

Por ejemplo: image

glendaqm commented 5 years ago

Hola Profe,

Corriendo los comandos para instalar las librerías desde la terminal de PyCharm o azure igual me daba el mismo error de permisos, entonces como último recurso lo que hice fue darme yo misma permisos sobre la carpeta donde esta Anaconda (ya que soy admin de mi máquina) y con eso logré solucionarlo. El comando para ejecutar desde un script de python que mandó Fabio me servía en Azure pero no en PyCharm... Ya pudiendo descargar las librerías, lo que hice fue crear un API sencillito que me devuelva la info necesaria para la constancia cuando se le haga un request y se le envíe la cédula del empleado, que es lo que haríamos si pudiéramos contactar el API de Workday (sistema de HR) directamente. Después de verlo funcionando bien desde un browser, procedí a codificar la llamada al API desde Python y a guardar el resultado en un dataframe, pero mañana que pienso seguirlo trabajando seguro lo cambio para guardar el JSON en un diccionario porque la función que va a meter la info en la template de word que pienso hacer tiene sentido que le pida cada uno de los valores por medio de la llave e irlos metiendo. Lo que llevo esta aquí en Git por si gusta echarle un ojo, me avisa si tiene alguna observación porfis.

Al final y después de mucha lectura decidí usar Flask en vez de CherryPy. :)