fbpx

Cuando todo nuestro flujo de trabajo se concentra en Google Drive, muchas veces tenemos que adaptar algunos formatos de archivo para poder sacarles el mayor provecho. Uno de estos formatos es el estándar CSV, que significa Comma-Separated Values o valores separados por comas, y sirve para presentar información de una forma muy sencilla y abierta a manera de tabla.

Seguramente te has topado con estos archivos al exportar datos de algún servicio online, y sabes que los puedes abrir y editar sin problemas con programas como Excel o incluso en Google Drive. Hoy nos concentraremos específicamente en manejar estos archivos en Google Drive para poderlos editar en Google Sheets (Hojas de Cálculo de Google).

Abrir un archivo CSV en Google Sheets

Para editar un archivo CSV en Google Drive, simplemente debes subirlo desde tu computadora o teléfono a alguna carpeta. Al abrirlo, verás un botón que dice Abrir con Hojas de cálculo de Google, y si lo presionas, automáticamente se creará una copia del archivo en Google Sheets. Esto es importante remarcarlo porque realmente no estarás editando el archivo original, sino una copia creada a partir de él, que tendrá todas las capacidades de una hoja de cálculo en línea de Google Sheets.

Convertir muchos archivos CSV a Google Sheets

Eso fue sencillo para un archivo, pero ¿qué pasa si tengo muchos archivos CSV en mi computadora que quiero convertir? No me gustaría tener que convertirlos todos de uno en uno.

Para convertir varios archivos CSV a Google Drive automáticamente si los tienes en tu computadora, lo más sencillo es ir a Configuración en la parte superior derecha, y activar la opción de Convertir archivos subidos. Esto convertirá todos los archivos que subas a Google Drive al formato del editor de Documentos de Google. Es decir, esto también convertirá archivos del formato de Microsoft Office como .xlsx, .docx, .pptx de Excel, Word y Powerpoint, respectivamente.

Esta es la forma más directa y limpia de hacerlo, porque no nos tenemos que preocupar por si el archivo es una copia o una versión anterior, simplemente seguiremos trabajando en él como si nada. Si queremos volverlo a guardar en CSV, solo tendremos que ir al menú Archivo – Descargar – Valores separados por comas (.csv, hoja actual)

Convertir archivos CSV que ya están en nuestro Google Drive

Ahora pasamos a un escenario un poco más específico. Tal vez ya tenemos muchos archivos CSV en nuestro Google Drive, y además, sí queremos conservar una copia del archivo CSV original por cuestiones de mantener un respaldo o un histórico. Acá tendremos que hacer algo diferente, aunque también sencillo.

Lo primero será desactivar la opción de que Google Drive convierta los archivos automáticamente, para que sigamos teniendo los archivos CSV originales que subamos en nuestra carpeta.

Ahora sí, subimos nuestros archivos a una carpeta, o abrimos la carpeta que ya los tiene:

Ahora, obtenemos el vínculo de nuestra carpeta en la opción de Obtener vínculo:

Hacemos un nuevo archivo de Google Sheets, y pegamos este vínculo en la celda A2

Ahora viene la parte más interesante. Es un poco más técnica, pero no te preocupes, lo vamos a ver paso a paso.

Primero vamos al menú Herramientas – Editor de secuencias de comandos

Veremos una pantalla con un código por defecto

Vamos al menú de Archivo – Guardar y nombramos nuestro proyecto como Convertir archivos.

Ahora, solo debes borrar todo el código que veas, y pegar este otro código de Apps Script:

var ui = SpreadsheetApp.getUi();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Convertir archivos')
      .addItem('Convertir archivos', 'convertir')
      .addToUi();
}

function convertir() {
  var folder_id =  "";
  var folder_id_range = sheet.getRange("A2").getValue().match(/([-\w]{25,})/);
  
  folder_id = folder_id_range[0];
  
  
  var folder = DriveApp.getFolderById(folder_id);
  var files = folder.getFiles();
  
  while(files.hasNext()) {
    var file = files.next();
    Drive.Files.copy({},file.getId(),{convert: true});
  }
}

Y guardamos nuestro proyecto de nuevo en Archivo – Guardar.

Autorizamos el código

Lo único que falta es darle algunos permisos necesarios a nuestro código para que se pueda ejecutar en nuestro Google Drive.

Primero vamos al menú de Recursos – Servicios avanzados de Google…

Si nunca has entrado a este menú, primero deberás aceptar los términos y condiciones de Google Cloud Platform, entonces si te aparece un mensaje pidiendo que los aceptes, simplemente ve a ese enlace y presiona ACEPTAR Y CONTINUAR.

Ahora sí, en el mismo menú de antes, Recursos – Servicios avanzados de Google… veremos muchas opciones sobre servicios de programación de Google que podemos activar o desactivar. El que nos interesa y que debemos activar se llama Drive API:

Si nos regresamos a nuestra hoja de cálculo, para poder ejecutar este código primero debemos actualizar la pestaña, y esperando unos segundos veremos que nos aparece un menú nuevo llamado Convertir archivos

Aquí nos va a pedir que demos algunos otros permisos necesarios.

Una vez que ya dimos esos permisos, intentamos volver a ejecutar nuestro menú Convertir archivos, y debe mostrarte un mensaje indicando que está Ejecutando secuencia de comandos.

Si vamos a la carpeta de Google Drive donde tenemos los archivos que queríamos convertir, vemos que poco a poco irá creando una copia de cada archivo CSV. Y no solo eso, también convertirá archivos de Word, Excel y Powerpoint. Lo único que hicimos en nuestro código fue activar la función de «convertir» de forma selectiva para esta carpeta. Esto nos permite mantener los archivos CSV intactos junto con sus copias.

¿Qué hace el código?

Toma en cuenta que este código solamente está programado para copiar todo lo que encuentre en la carpeta que pongas en la celda A2 para intentar convertirlo al formato de Google Drive. Si lo vuelves a ejecutar, copiará todo de nuevo, así que mi recomendación es usar esto a conciencia y quitar los archivos de la carpeta que uses para convertir o modificar el código para que no tome en cuenta archivo con el mismo nombre o el criterio que te sea más útil a ti. Esta es una buena oportunidad para aprender más sobre la APIs que provee Google Drive para manejar archivos, esto es un pequeño avance.

¡Y listo! Ya sabes cómo convertir archivos CSV y cualquier otro archivo de Excel, Word y Powerpoint a los formatos propios de Google Drive.

¡Espero que te haya sido útil esta guía! No olvides seguirnos en YouTube para más tips, trucos y guías de productividad.