Si utiliza Microsoft Excel, probablemente esté acostumbrado a usar e importar datos de orígenes externos, por ejemplo, archivos CSV. Podemos tener la misma facilidad en Hojas de cálculo de Google usando Google Apps Script.
¿Qué es Google Apps Script?
Apps Script es una plataforma de scripting desarrollada por Google para el desarrollo de aplicaciones ligeras en la plataforma G Suite. Se basa en JavaScript 1.6, pero también incluye algunas características de 1.7, 1.8 y un subconjunto de la API de ECMAScript 5. Los proyectos de Apps Script se ejecutan en la infraestructura en la nube de Google. Según el propio Google, Apps Script "proporciona formas sencillas de automatizar tareas en productos y servicios de terceros". Apps Script también está disponible para Google Docs y Slides.
Encontrará todos los scripts de este tutorial en la hoja de cálculo de ejemplo, haga una copia en su unidad para poder ver los scripts y editar la hoja de cálculo.
También echa un vistazo: Transferencia de archivos por SFTP en Google Cloud usando FileZilla
Acceso al script de aplicaciones
Para acceder a los scripts de Google Apps, cree una hoja de cálculo en blanco o copie la hoja de ejemplo; Haga clic en Herramientas > Editor de scripts:
Se abrirá una nueva pestaña con el editor de texto de Google Apps Script:
Creación de scripts
Podemos importar fácilmente archivos CSV en Hojas de cálculo de Google utilizando la función Google Apps Scr
ipt Utilities.parseCsv(). Los siguientes códigos muestran cómo importar y mostrar datos de un archivo CSV por URL, excepto en Google Drive o como archivo adjunto en Gmail.
Autorización de scripts de Google Apps
Para todos los ejemplos siguientes, al ejecutar los scripts necesitamos autorizar a Google Apps Scripts a acceder a algunas funciones de las API de Google.
Probablemente, debido a que su script aún no está homologado, aparecerá la siguiente pantalla:
Haga clic en Mostrar proyecto de acceso avanzado y continúe autorizando:
Importación del archivo CSV desde un archivo adjunto de correo electrónico en Gmail
función importCSVDoGmail()
var emails á GmailApp.search("from:[email protected]"); Filtramos nuestros correos electrónicos
var email á emails.[0]getMessages(); [0]Tomamos el primer mensaje del hilo de correo electrónico
var attachment á email.getAttachments(); Toma[0]mos el primer archivo adjunto del correo electrónico
Validamos que este archivo adjunto es un CSV
if (attachment.getContentType() á "text/csv")
var spreadsheet á SpreadsheetApp.getActiveSheet(); Seleccionamos el objeto de la hoja de trabajo activa
var csv - Utilities.parseCsv(spreadsheet.getDataAsString(), ",");
Borramos el contenido de la hoja de trabajo antes de importar los datos
sheet.clearContents().clearFormats();
Importamos todos los datos de la celda A1
sheet.getRange(1, 1, csv.length, csv[0].length).setValues(csv);
}
}
En nuestra variable de correos electrónicos realizaremos una búsqueda de filtros en nuestro Gmail para devolver el primer correo electrónico correspondiente, podemos utilizar cualquier operador de búsqueda de Gmail dentro de la función GmailApp.search ("operator:se
arch"), consulta aquí la lista completa de operadores.
Importación del archivo CSV desde Google Drive
función importCSVDoGoogleDrive()
var file á DriveApp.getFilesByName("data.csv").next();
var csv - Utilities.parseCsv(file.getBlob().getDataAsString());
var spreadsheet á SpreadsheetApp.getActiveSheet();
spreadsheet.getRange(1, 1, csv.length, c[0]sv.length).setValues(csv);
}
En el ejemplo anterior estamos buscando el archivo d
ata.csv que está en la raíz de Google Drive, cambie esta ruta según sea necesario.
Descargue e importe el archivo CSV desde un sitio web externo
función importCSVDaWeb()
URL de descarga de archivos CSV
var csvUrl á "https://marquesfernandes.com/wp-content/uploads/2020/01/exemplo_csv.csv";
var csv - UrlFetchApp.fetch(csvUrl).getContentText();
var data - Utilities.parseCsv(csv);
var spreadsheet á SpreadsheetApp.getActiveSheet();
spreadsheet.getRange(1, 1, data.length, data[0].length).setValues (datos);
}
Recuerde que el servicio UrlFetchApp solo realiza solicitudes HTTP y aún no es posible conectarse a servidores FTP.