Ir al contenido principal

Destacado

Ejemplo Python para hacer NLP (natural programming language)

En previas publicaciones del blog, hemos visto ejemplos para graficar, leer datos, hacer scraping y en esta ocasión les quiero compartir un ejemplo para poder hacer NLP o Natural Programming Language o Lenguaje de Programación natural. La primera cosa que han de estarse preguntando, es ¿para que me sirve esto de NLP? Bueno NLP es un campo o área de Inteligencia Artificial, que funciona para analizar conversaciones y poder responder de manera natural utilizando programación. Algunos ejemplos prácticos son:   Los Chatbots  Asistentes virtuales como: Alexa,Google assistant, Siri de Apple, Microsoft Cortana La segmentación de correos en automático en nuestros correos Los textos predictivos en nuestros celulares o correos o en buscadores En llamadas telefónicas para direccionar las llamadas de clientes Python y la librería de NTLK nos permite realizar análisis de texto para poder hacer aprendizaje de este y poder utilizar algoritmos para analizar información como por ejemplo saber que corre

Macros en Google Sheets

Google tiene  una versión gratuita para Hojas de cálculo mejor conocidas por el software más utilizado del mundo Excel de Microsoft, en días anteriores tenía que crear una plantilla en Google Sheets pero tenía que hacer lo mismo que hacía mi plantilla en Excel, solo que mi plantilla tiene macros y de ahí el tema de hoy: explicarles como es que pueden incorporar macros en Google Sheets.

Macros Hojas de calculo Google


  1. Primer paso entender la lógica de mi programa, cuales eran los pasos en visual basic.
  2. Pensé que lo mas fácil era hacer una traducción del código de mi macro al código de Google Sheet, así que abrí mi macro de Excel y comencé buscar como se llamaban las instrucciones y buscar en Google la instrucción de equivalencia.
  3. Comenzar a probar cada línea que agregaba, para ver que hicieran la funcionalidad que yo quería.
  4. Mejorar la macro de Visual Basic.

El resultado final es 


Como nota adicional si quieres grabar sus vídeos como el que muestre, solo tienen que utilizar Power Point
https://support.microsoft.com/es-es/office/recortar-un-v%C3%ADdeo-1fc386f2-8404-43e8-9dbd-fee3a11a1d8f#:~:text=Para%20guardar%20una%20copia%20independiente,un%20nivel%20de%20compresi%C3%B3n%20adecuado.

El código que utilice

/** @OnlyCurrentDoc */


function Calcular_consolidado_periodo() {

 var vcperiodo =  SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange("M2").getValue();

  SpreadsheetApp.getUi().alert(vcperiodo);

 var vifilain = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getLastRow() ;

 var vifila = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getLastRow() ;

 var indcat = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Categorias").getLastRow() ;

 var vctotal = 0;

 var vifila2 = 3;

 var indicecat = 1; 

 var categoria = "";

 vifila = vifila + 1;

  

  do{

     categoria = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Categorias").getRange(indicecat, 1).getValue()

     SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 2).setValue(categoria);

     indicecat = indicecat + 1;

      vifila = vifila + 1;

  }while(indicecat < indcat);

  

  vifila = vifilain;

  vifila = vifila + 1;

  

  do {


     vifila2 = 3

     vctotal = 0

     

     do{

       if (SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange(vifila2, 5).getValue() == vcperiodo &&

           SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange(vifila2, 2).getValue() ==  

           SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 2).getValue())

       {

          var valor = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange(vifila2, 4).getValue();

          vctotal = vctotal + valor;

       }         

       vifila2 = vifila2 + 1

     }while (SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange(vifila2, 5).getValue() != "");

    

       SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 1).setValue(vcperiodo);

       SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 3).setValue(vctotal);

       

       vifila = vifila + 1 ;

} while (SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 2).getValue() != "" );

  

};

El código de la Macro en Excel vs Google Sheets

El tema me parece muy interesante, porque también como veíamos en otro post previo TypeScript el nuevo lenguaje utilizado para programar macros online Typescript el sustituto de VB también esta basado en Javascript, cada vez veo más aplicaciones a este lenguaje.

Espero esta pagina les sea de utilidad, nos sigan, nos compartan en este blog o en la página de Facebook https://www.facebook.com/Programacionparatodosmsg/

Comentarios

Entradas populares

Chatbot