Mostrando entradas con la etiqueta SpreadSheet. Mostrar todas las entradas
Mostrando entradas con la etiqueta SpreadSheet. Mostrar todas las entradas

martes, 3 de noviembre de 2020

Diferencia de los método array find() vs filter()


Vemos los resultados de utilizar los métodos Array find() vs filter(), si bien ambos métodos nos permiten buscar elementos deacuerdo a una condición. El resultado de la ejecución arroja diferentes resultados.

Los pasos a seguir son:

1) Crear una planilla de google SpreadSheet, con los siguientes datos, al que llamaremos  PROVEEDORES, y a la primera hoja llamaremos hojaProveedores

El titulo será la fila 1 con los siguientes datos: 
  •  Col A1  = id
  •  Col B1  = Proveedor
  •  Col C1  = Teléfono
  •  Col D1  = Servicio
  •  Col E1  = Dirección


2) Abrir el  Editor de secuencia de comandos de una planilla SpreadSheet de google. Esta es la secuencia de comando que obtuve.

function BuscarEnColD() {

   var namesheet = "hojaProveedores";
   var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(namesheet);
   var rango = ss.getRange(2,1,ss.getLastRow(),5).getValues(); // [][]
      // console.log( " range ", rango );
   var buscar = "Ferreteria"// EN MAYUSCULA
   
   /*  
       El método find() devuelve el valor del primer elemento del array 
       que cumple la función de busqueda proporcionada. 

       https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/find 
    
    */
      
      var arrfind = rango.findfunction(row){
            return row[3].toUpperCase().trim() == buscar.toUpperCase().trim()
      })
       /* con Arrow function  => */
       // var arrfind = rango.find( row => row[3].toUpperCase().trim() == buscar.toUpperCase().trim());

   console.log (" mostrar resultado de la ejecucion - metodo FIND ")
   console.logarrfind );
   

   /* 
      El método filter() crea un nuevo array con todos los elementos 
      que cumplan la condición implementada por la función dada. 
   */

     var arrfilter = rango.filterarr => arr[3].toUpperCase().trim() == buscar.toUpperCase().trim())
  
   console.log (" mostrar resultado de la ejecucion - metodo FILTER")
   console.logarrfilter);
   } \\ cierra function BuscarEnColD



 

 El método find() devuelve el valor del primer elemento del array que cumpla con la condición
proporcionada. Luego da finalizada la búsqueda.

El método filter() crea un nuevo array con todos los elementos que cumplan la condición. Tres registros cumplen la condición servicio = "ferreteria"



 Gracias por leer mi blog.

sábado, 17 de agosto de 2019

Acceder a datos de una Hoja de Calculo de Google (SpreadSheet)


Google Apps Script - SpreadSheet
en español


/*

Crear una Sheets API service object  que imprime los datos de la columna  names y majors de  
una spreadsheet compartida,   esta es la URL:
 https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit


El id de la Spreadsheet es : 

Imagen de la Sheet  "Class Data"  al que vamos a acceder y obtener los datos.



 */




function log_de_Col_Names_Y_Col_Majors() {
             
    var spreadsheetId = '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms';


            // 'HOJA!A2:E' nombre de la hoja y el rango a activar   
    var rangeName = 'Class Data!A2:E'


    var values = Sheets.Spreadsheets

                       .Values.get( spreadsheetId, rangeName )
                       .values;

    if (!values) {
        Logger.log('No data found.');
    }else{
        Logger.log('Orden, Name, Major:');

        for (var row = 0; row < values.length; row++) {

              // Imprime en el log el resultado del valor de row, 

              //  el contenido de la columna A y la E
              //  ( representados por los indices 0 y 4 )


           Logger.log( '%s - %s, %s', row.toString(), 

                  values[row][0], values[row][4] );

    } // cierra for
} // cierra else 
} // cierra function



De esta forma se vera en tu proyecto en el editor de Script  ( abre  accediendo a esta url  http://script.google.com )




*    https://developers.google.com/apps-script/guides/services/advanced#enabling_advanced_services


Para usar los servicios avanzados de Google Service,  debe seguir estas intrucciones: 
               # Active el servicio Google Sheets API ( modo activado).

In the script editor, 

Menú [ Recursos > Servicios Avanzados de Google....]




De este modo ya esta en condición de ejecutar el Script, seleccionando la funcion y con el Boton Ejecutar.


Si todo fue correcto, el resultado lo deberá ver consultando el Logger ( CTRL + ENTER ).
Resultado de  ejecutar la funcion log_de_Col_Names_Y_Col_Majors   






Gracias por visitar mi Blog !!!

python - método split()

  Cómo dividir cadena en subcadenas con  el method split()? En este ejemplo, le asigno a la variable varTP el bloque de información con el q...