Use las capacidades de importación de Google Sheet para ser más productivo

Publicado: 2022-08-04

En los Estados Unidos, los deportes son un gran negocio . Aproximadamente 154 millones de personas miran deportes en vivo al menos una vez al mes. Y se espera que esos números aumenten cada año.

Con el auge de los deportes, las industrias caseras como los deportes de fantasía, DFS y los sitios de apuestas han brindado a los fanáticos otra razón para mirar (y participar más). Estos juegos permiten a los espectadores astutos ganar mucho dinero burlando a otros jugadores (y casas de apuestas deportivas) para ganar lucrativos concursos en línea.

La forma principal en que los jugadores de fantasía obtienen una ventaja es mediante el uso de algoritmos patentados para proyectar el rendimiento de los jugadores. El masaje de las estadísticas de los jugadores permite a los jugadores encontrar gemas estadísticas oscuras que pueden aprovechar para ganar más concursos.

Hoy, veremos cómo puede lograr esto usando Hojas de cálculo de Google. Nos prepararemos para un proyecto de fantasía hipotético importando las estadísticas de los jugadores desde un sitio web público. Luego, usaremos el poder de las funciones para transformar, manipular, filtrar y ordenar estos datos a nuestro gusto.

¿Sigues copiando contenido en WordPress?

Lo estás haciendo mal… despídete para siempre de:

  • ❌ Limpieza de HTML, eliminación de etiquetas de intervalo, saltos de línea, etc.
  • ❌ Crear a mano los enlaces de ID de anclaje de su tabla de contenido para todos los encabezados,
  • ❌ Cambiar el tamaño y comprimir las imágenes una por una antes de volver a cargarlas en su contenido,
  • ❌ Optimización de imágenes con nombres de archivo descriptivos y atributos de texto alternativo,
  • ❌ Pegar manualmente los atributos target=“_blank” y/o “nofollow” en cada enlace
Obtenga 5 exportaciones gratis

Tabla de contenido

1. Identifique su fuente de datos de destino en línea
2. Importar datos tabulares en hojas de cálculo de Google
3. Limite las columnas que desea importar
4. Filtrar filas importadas según criterios personalizados
5. Genere una salida de punto de fantasía usando un campo calculado
6. Ordenar filas según la columna calculada

wpchtmlp id=15056

1. Identifique su fuente de datos de destino en línea

Los participantes de las ligas de premios de fútbol de fantasía saben lo importante que es evaluar y clasificar a los jugadores antes de un draft de liga. Los jugadores de fantasía normalmente comienzan con las estadísticas de la temporada anterior cuando desarrollan sus clasificaciones de jugadores. Luego, ajustan sus clasificaciones de jugadores en función de una variedad de factores:

● Lesiones potenciales

● Batallas posicionales

● Proyecciones de puntos de fantasía

● Reglas de puntuación de la liga

● etc.

Para este ejemplo, imaginemos que estamos creando clasificaciones de jugadores para la posición de mariscal de campo en una liga de fútbol de fantasía. Encontré los datos necesarios publicados en el sitio web de la Liga Nacional de Fútbol.

Captura de pantalla de estadísticas de pases de la NFL 2021

Nuestro objetivo es importar estos datos estadísticos a las hojas de Google para crear nuestras clasificaciones personalizadas para la temporada actual.

2. Importar datos tabulares en hojas de cálculo de Google

La función que usaremos para realizar la importación de datos es IMPORTHTML. La documentación de Google Sheets para esta función muestra que necesitaremos proporcionar tres entradas:

  1. La URL de la página a examinar.
  2. La consulta que queremos realizar (ya sea "lista" o "tabla", según el marcado estructural al que nos dirigimos).
  3. Un índice (que comienza en 1) que indica qué tabla de la fuente HTML debe importarse.

Ya identificamos la URL de la página a la que nos dirigimos. La consulta que queremos especificar es la cadena "tabla" ya que la información se almacena en una tabla HTML.

Nota: si desea importar una lista con viñetas (o numerada), especifique "lista" en lugar de "tabla" como parámetro secundario.

Finalmente, necesitamos determinar dónde reside nuestra tabla de destino (secuencialmente) en el código fuente HTML para la página misma. Para hacer esto, haga clic derecho en cualquier parte de la ventana del navegador y seleccione 'Ver código fuente'. Luego puede buscar la cadena “<tabla” para determinar el índice correcto.

ver fuente en una captura de pantalla de la ventana del navegador

Dado que nuestra tabla de destino es la primera (y única) tabla de esta página, nuestro índice será 1.

Esta es nuestra fórmula inicial:

=IMPORTARHTML(“https://www.nfl.com/stats/player-stats/”, “tabla”, 1)

Después de ingresar la fórmula en A1, así es como aparecen los datos:

captura de pantalla de importación de código html en las hojas de Google

¡Genial, eso fue fácil! Pero podemos usar más funciones de Hojas de cálculo de Google para mejorar este proceso. Veo varias deficiencias en nuestro proceso actual:

  1. No necesitamos TODAS las columnas de la tabla de origen. Quiero limitar mis datos solo a los campos que necesito para crear mis clasificaciones.
  2. Es posible que desee especificar algunos criterios mínimos que un jugador debe cumplir antes de importarlos (¡tengo estándares!).
  3. Me gustaría una sola columna adicional que resuma qué tan bien se desempeñó el jugador durante toda la temporada.
  4. Dado que estoy clasificando a estos jugadores, los mejores deberían estar en la parte superior.

Veamos cómo podemos lograr estos objetivos.

3. Limite las columnas que desea importar

No tiene sentido saturar nuestra hoja de cálculo con datos innecesarios. Afortunadamente, Google Sheets proporciona una forma de importar solo las columnas que deseamos.

Mirando las columnas en nuestra tabla de destino, solo estoy interesado en algunas de las columnas.

1. Jugador (Columna 1)

2. Pase Yardas (Columna 2)

3. TD (Columna 7)

4. INT (Columna 8)

Estas columnas son todos los datos que necesito para ayudarme a clasificar a estos jugadores para la próxima temporada.

vista de columna después de la función importhtml hojas de google

Para limitar las columnas importadas, debemos envolver nuestra función IMPORTHTML en una función de consulta. La función de consulta toma dos parámetros:

  1. Los datos que representan el rango de celdas en las que realizar la consulta.
  2. Una consulta para realizar, escrita en el lenguaje de consulta de la API de visualización de Google.

Para el parámetro de datos, usaremos la función IMPORTHTML completa que ya hemos creado. Para la consulta, proporcionaremos una consulta que apunte a las columnas que queremos incluir en nuestra importación.

=consulta(IMPORTARHTML(“https://www.nfl.com/stats/player-stats/”, “tabla”, 1), “seleccionar Col1, Col2, Col7, Col8”)

¡Ahora nuestros datos importados se ven así, sin columnas innecesarias!

eliminando columnas innecesarias en las hojas de Google

Entonces ahora podemos importar con éxito el conjunto de datos deseado y al mismo tiempo limitar las columnas que aparecerán en nuestras hojas finales. Pero todavía hay trabajo por hacer.

4. Filtrar filas importadas según criterios personalizados

Para mi clasificación, solo quiero considerar a los mariscales de campo que lanzaron al menos 3000 yardas. De manera más general, quiero filtrar las filas importadas según los criterios en una columna específica.

Para crear un filtro, ajustaremos nuestra función de consulta existente para incluir una cláusula WHERE. En concreto, indicaremos que solo queremos importar filas donde el valor en Col2 sea mayor o igual a 3000.

=consulta(IMPORTARHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “seleccione Col1, Col2, Col7, Col8 donde Col2 >= 3000”)

Ahora, cuando examinamos el conjunto de resultados, podemos ver que se omite a Lamar Jackson (el único jugador con menos de 3000 yardas por aire). Mejor suerte el próximo año!

Nota: Lamar Jackson es un semental y normalmente lo incluiríamos en nuestra clasificación. ¡Esto es teórico, amigos!

5. Genere una salida de punto de fantasía usando un campo calculado

Importamos con éxito nuestras estadísticas de mariscales de campo sin procesar, recortamos las columnas a nuestro gusto y filtramos algunos jugadores indeseables. Ese es un gran comienzo para crear nuestras clasificaciones personalizadas.

Pero las estadísticas en bruto no son tan útiles cuando se trata de deportes de fantasía. Lo que realmente necesitamos hacer es calcular la producción de puntos de fantasía para cada jugador. Ese es un indicador mucho mejor del éxito.

Y claro, podríamos agregar manualmente otra columna, realizando este cálculo manualmente dentro de nuestra hoja. Pero, en cambio, simplifiquemos las cosas realizando el cálculo durante el proceso de importación.

Desarrollo de una fórmula para el cálculo de puntos de fantasía

Entonces, ¿cuál es la fórmula que usamos para calcular la producción de puntos de fantasía para los mariscales de campo?

Resulta que esta fórmula variará de una liga a otra, según sus configuraciones de puntuación específicas. Pero para este tutorial, usaremos una fórmula similar al sistema de puntuación estándar:

Puntos Fantasy = (Pass Yds / 25) + (TDs * 6) – (INTs * 2)

Ajustar la consulta para incluir el campo calculado

Para integrar el campo calculado, ajustaremos nuestra consulta existente para incluir una columna calculada. Específicamente, queremos agregar nuestro cálculo de puntos de fantasía al parámetro de consulta de la función de consulta.

=consulta(IMPORTARHTML(“https://www.nfl.com/stats/player-stats/”, “tabla”, 1), “seleccionar Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Col8*2) donde Col2 >= 3000”)

Ahora nuestra hoja de cálculo contiene la producción total de fantasía para cada jugador (una métrica mucho más útil).

calcular la consulta existente para incluir una columna calculada

Pero ese nuevo encabezado de columna se ve muy raro. Sería mucho más limpio si pudiéramos aplicar una etiqueta personalizada a la columna ('Puntos de fantasía', por ejemplo) l. Resulta que esto es posible, aunque la sintaxis es un poco extraña.

Lo que debemos hacer es agregar más datos al final de nuestra consulta:

1. La palabra clave 'etiqueta'

2. Repita el campo calculado

3. El encabezado de columna deseado como una cadena

=consulta(IMPORTARHTML(“https://www.nfl.com/stats/player-stats/”, “tabla”, 1), “seleccionar Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Col8*2) donde Col2 >= 3000 etiqueta (Col2/25)+(Col7*6)-(Col8*2) 'Puntos de fantasía'”)

Ahora que es más como él!

agregando una etiqueta personalizada a la columna

¡Esa columna de Puntos de Fantasía se ve mucho mejor! Pero no creo que necesite la parte decimal de esos números.

Para mí, los dígitos decimales agregan un ruido de fondo innecesario. Entonces, veamos si podemos redondear esos números.

Para lograr esto, aplicaremos un formato personalizado a nuestra consulta. En concreto, tenemos que especificar:

1. La palabra clave 'FORMATO'

2. Repita el campo calculado

3. El formato de número personalizado ("#" en nuestro caso)

=consulta(IMPORTARHTML(“https://www.nfl.com/stats/player-stats/”, “tabla”, 1), “seleccionar Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Col8*2) donde Col2 >= 3000 etiqueta (Col2/25)+(Col7*6)-(Col8*2) FORMATO 'Fantasy Points' (Col2/25)+(Col7*6)-(Col8 *2) '#'”)

Ahora nuestra mesa se ve más limpia.

aplicar formato de número personalizado

Hemos recorrido un largo camino y hemos simplificado nuestro proceso de recopilación de datos. Pero tenemos un paso más para completar este tutorial.

Dado que este ejercicio tiene como objetivo crear clasificaciones para estos jugadores, sería útil ordenarlos cuando importemos los datos.

Trabajemos en eso a continuación.

6. Ordenar filas según la columna calculada

Nos apoyaremos nuevamente en nuestra consulta para especificar un orden de fila inicial para nuestros datos. Queremos ordenar nuestras filas por la columna calculada ('Puntos de fantasía'). Pero queremos hacer esto en orden descendente.

La clasificación se puede lograr a través de la cláusula ORDER BY DESC. Nuevamente (y desafortunadamente), necesitaremos hacer referencia a nuestro campo calculado completo.

NOTA: No puede usar el encabezado de columna del campo calculado en la cláusula ORDER BY porque en el orden de operaciones de SQL, el alias no se aplica hasta después de ORDER BY.

Aquí está nuestra fórmula final:

=consulta(IMPORTARHTML(“https://www.nfl.com/stats/player-stats/”, “tabla”, 1), “seleccionar Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Col8*2) donde Col2 >= 3000 ORDENAR POR (Col2/25)+(Col7*6)-(Col8*2) Etiqueta DESC (Col2/25)+(Col7*6)-(Col8*2 ) FORMATO 'Puntos de fantasía' (Col2/25)+(Col7*6)-(Col8*2) '#'”)

Nuestro conjunto de datos final ahora está ordenado con los mejores jugadores primero (de acuerdo con las reglas de puntuación específicas de nuestra liga).

hojas de orden basadas en el mejor jugador primero

Las funciones de importación de datos de Google Sheets son simples pero efectivas

Ya sea que sea un experto en estadísticas, estudiante o investigador, la versatilidad de las funciones de importación de datos en Hojas de cálculo de Google es un gran ahorro de tiempo. Usando las funciones detalladas en este artículo, ahora tiene el poder de importar, filtrar, clasificar y manipular cualquier dato que pueda encontrar en Internet.

Y con más de 6 mil millones de páginas web (y contando), parece que estará muy ocupado.