Verwenden Sie die Importfunktionen von Google Sheet, um produktiver zu sein

Veröffentlicht: 2022-08-04

In den Vereinigten Staaten ist Sport ein großes Geschäft . Rund 154 Millionen Menschen schauen sich mindestens einmal im Monat Live-Sport an. Und es wird erwartet, dass diese Zahlen jedes Jahr steigen.

Mit dem Sportboom haben Heimindustrien wie Fantasy Sports, DFS und Prop-Betting-Sites den Fans einen weiteren Grund gegeben, zuzuschauen (und sich zu engagieren). Diese Spiele ermöglichen es schlauen Zuschauern, viel Geld zu verdienen, indem sie andere Spieler (und Sportwettenanbieter) austricksen, um lukrative Online-Wettbewerbe zu gewinnen.

Der primäre Weg, wie Fantasy-Gamer einen Vorteil erlangen, besteht darin, proprietäre Algorithmen zu verwenden, um die Leistungen der Spieler zu projizieren. Das Massieren von Spielerstatistiken ermöglicht es Spielern, obskure statistische Juwelen zu finden, die sie nutzen können, um mehr Wettbewerbe zu gewinnen.

Heute sehen wir uns an, wie Sie dies mit Google Sheets erreichen können. Wir bereiten uns auf einen hypothetischen Fantasy-Entwurf vor, indem wir Spielerstatistiken von einer öffentlichen Website importieren. Dann nutzen wir die Leistungsfähigkeit von Funktionen, um diese Daten nach unseren Wünschen zu transformieren, zu manipulieren, zu filtern und zu sortieren.

Kopieren Sie immer noch Inhalte in WordPress?

Du machst es falsch… verabschiede dich für immer von:

  • ❌ HTML bereinigen, Span-Tags, Zeilenumbrüche usw. entfernen.
  • ❌ Erstellen Sie Ihre Anker-ID-Links für das Inhaltsverzeichnis für alle Überschriften von Hand,
  • ❌ Bilder einzeln in der Größe ändern und komprimieren, bevor sie wieder in Ihre Inhalte hochgeladen werden,
  • ❌ Optimieren von Bildern mit aussagekräftigen Dateinamen und Alt-Text-Attributen,
  • ❌ Manuelles Einfügen der Attribute target="_blank" und/oder "nofollow" in jeden einzelnen Link
Erhalten Sie 5 kostenlose Exporte

Inhaltsverzeichnis

1. Identifizieren Sie Ihre Zieldatenquelle online
2. Importieren Sie tabellarische Daten in Google Sheets
3. Beschränken Sie die Spalten, die Sie importieren möchten
4. Filtern Sie importierte Zeilen basierend auf benutzerdefinierten Kriterien
5. Generieren Sie eine Fantasiepunktausgabe unter Verwendung eines berechneten Felds
6. Sortieren Sie die Zeilen basierend auf der berechneten Spalte

wpchtmlp id=15056

1. Identifizieren Sie Ihre Zieldatenquelle online

Teilnehmer von Fantasy-Football-Preisligen wissen, wie wichtig es ist, Spieler vor einem Ligaentwurf zu bewerten und einzustufen. Fantasy-Spieler beginnen normalerweise mit Statistiken aus der vorherigen Saison, wenn sie ihre Spielerrangliste entwickeln. Dann passen sie ihre Spielerrangliste basierend auf einer Vielzahl von Faktoren an:

● Mögliche Verletzungen

● Positionskämpfe

● Fantasiepunktprojektionen

● Liga-Wertungsregeln

● usw

Stellen wir uns für dieses Beispiel vor, dass wir Spielerranglisten für die Quarterback-Position in einer Fantasy-Football-Liga erstellen. Ich habe die notwendigen Daten auf der Website der National Football League veröffentlicht.

NFL 2021 Screenshot der Passing-Statistiken

Unser Ziel ist es, diese statistischen Daten in Google Sheets zu importieren, um unsere benutzerdefinierten Rankings für die aktuelle Saison zu erstellen.

2. Importieren Sie tabellarische Daten in Google Sheets

Die Funktion, die wir verwenden, um den Datenimport durchzuführen, ist IMPORTHTML. Die Google Sheets-Dokumentation für diese Funktion zeigt, dass wir drei Eingaben bereitstellen müssen:

  1. Die URL der zu untersuchenden Seite
  2. Die Abfrage, die wir durchführen möchten (entweder „Liste“ oder „Tabelle“, je nach dem strukturellen Markup, auf das wir abzielen).
  3. Ein Index (beginnend bei 1), der angibt, welche Tabelle aus der HTML-Quelle importiert werden soll.

Wir haben die URL der Seite, auf die wir abzielen, bereits identifiziert. Die Abfrage, die wir angeben möchten, ist die Zeichenfolge „Tabelle“, da die Informationen in einer HTML-Tabelle gespeichert sind.

Hinweis: Wenn Sie eine Aufzählung (oder nummerierte) Liste importieren möchten, geben Sie als sekundären Parameter „list“ statt „table“ an.

Schließlich müssen wir bestimmen, wo sich unsere Zieltabelle (sequenziell) im HTML-Quellcode für die Seite selbst befindet. Klicken Sie dazu mit der rechten Maustaste auf eine beliebige Stelle im Browserfenster und wählen Sie „Quelle anzeigen“. Dann können Sie nach dem String „<table“ suchen, um den richtigen Index zu ermitteln.

Quelle in einem Browserfenster-Screenshot anzeigen

Da unsere Zieltabelle die erste (und einzige) Tabelle auf dieser Seite ist, ist unser Index 1.

Hier ist unsere Ausgangsformel:

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

Nachdem wir die Formel in A1 eingegeben haben, sehen die Daten folgendermaßen aus:

Importieren Sie HTML-Code in Google Sheets Screenshot

Super, das war einfach! Aber wir können weitere Funktionen von Google Sheets verwenden, um diesen Prozess zu verbessern. Ich sehe mehrere Mängel bei unserem derzeitigen Prozess:

  1. Wir brauchen nicht ALLE Spalten aus der Quelltabelle. Ich möchte meine Daten auf die Felder beschränken, die ich zum Erstellen meiner Rankings benötige.
  2. Ich möchte vielleicht einige Mindestkriterien angeben, die ein Spieler erfüllen muss, bevor ich sie importiere (ich habe Standards!).
  3. Ich hätte gerne eine einzelne, zusätzliche Spalte, die zusammenfasst, wie gut der Spieler über die gesamte Saison gespielt hat.
  4. Da ich diese Spieler ranke, sollten die besten Spieler an der Spitze stehen.

Mal sehen, wie wir diese Ziele erreichen können.

3. Beschränken Sie die Spalten, die Sie importieren möchten

Es hat keinen Sinn, unsere Tabelle mit unnötigen Daten zu überladen. Glücklicherweise bietet Google Sheets eine Möglichkeit, nur die gewünschten Spalten zu importieren.

Wenn ich mir die Spalten in unserer Zieltabelle anschaue, interessieren mich nur einige der Spalten.

1. Spieler (Spalte 1)

2. Yards passieren (Spalte 2)

3. TD (Spalte 7)

4. INT (Spalte 8)

Diese Spalten enthalten alle Daten, die ich brauche, um diese Spieler für die kommende Saison einzuordnen.

Spaltenansicht nach Importhtml-Funktion Google Sheets

Um die importierten Spalten einzuschränken, müssen wir unsere IMPORTHTML-Funktion in eine Abfragefunktion einschließen. Die Abfragefunktion benötigt zwei Parameter:

  1. Die Daten, die den Zellbereich darstellen, für den die Abfrage ausgeführt werden soll.
  2. Eine auszuführende Abfrage, die in der Google Visualization API-Abfragesprache geschrieben ist.

Für den Datenparameter verwenden wir die gesamte IMPORTHTML-Funktion, die wir bereits erstellt haben. Für die Abfrage stellen wir eine Abfrage bereit, die auf die Spalten abzielt, die wir in unseren Import aufnehmen möchten.

=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “select Col1, Col2, Col7, Col8”)

Jetzt sehen unsere importierten Daten so aus, ohne unnötige Spalten!

Entfernen unnötiger Spalten in Google Sheets

Jetzt können wir den gewünschten Datensatz erfolgreich importieren und gleichzeitig die Spalten einschränken, die in unseren endgültigen Blättern erscheinen werden. Aber es gibt noch viel zu tun.

4. Filtern Sie importierte Zeilen basierend auf benutzerdefinierten Kriterien

Für meine Rangliste möchte ich nur Quarterbacks berücksichtigen, die mindestens 3000 Yards weit geworfen haben. Allgemeiner möchte ich die importierten Zeilen basierend auf Kriterien in einer bestimmten Spalte filtern.

Um einen Filter zu erstellen, passen wir unsere vorhandene Abfragefunktion so an, dass sie eine WHERE-Klausel enthält. Insbesondere geben wir an, dass wir nur Zeilen importieren möchten, bei denen der Wert in Col2 größer oder gleich 3000 ist.

=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “select Col1, Col2, Col7, Col8 where Col2 >= 3000”)

Wenn wir nun die Ergebnismenge untersuchen, können wir sehen, dass Lamar Jackson (der einzige Spieler mit weniger als 3000 Yards Passspiel) weggelassen wurde. Mehr Glück im nächsten Jahr!

Hinweis: Lamar Jackson ist ein Gestüt und wir würden ihn normalerweise in unsere Rangliste aufnehmen. Das ist theoretisch, Leute!

5. Generieren Sie eine Fantasiepunktausgabe unter Verwendung eines berechneten Felds

Wir haben unsere rohen Quarterback-Statistiken erfolgreich importiert, die Spalten nach unseren Wünschen getrimmt und einige unerwünschte Spieler herausgefiltert. Das ist ein guter Anfang für die Erstellung unserer benutzerdefinierten Rankings.

Aber rohe Statistiken sind nicht so hilfreich, wenn es um Fantasy-Sportarten geht. Was wir wirklich tun müssen, ist die Fantasy-Punkte-Ausgabe für jeden Spieler zu berechnen. Das ist ein viel besserer Indikator für den Erfolg.

Und natürlich könnten wir manuell eine weitere Spalte hinzufügen und diese Berechnung manuell in unserem Blatt durchführen. Aber lassen Sie uns stattdessen die Dinge rationalisieren, indem wir die Berechnung während des Importvorgangs durchführen.

Entwicklung einer Formel zur Berechnung von Fantasy-Punkten

Was ist also die Formel, die wir verwenden, um den Fantasy-Punkte-Output für Quarterbacks zu berechnen?

Es stellt sich heraus, dass diese Formel von Liga zu Liga variiert, basierend auf Ihren spezifischen Scoring-Konfigurationen. Aber für dieses Tutorial verwenden wir eine Formel, die dem Standard-Bewertungssystem ähnelt:

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

Anpassen der Abfrage, um das berechnete Feld einzuschließen

Um das berechnete Feld zu integrieren, passen wir unsere vorhandene Abfrage so an, dass sie eine berechnete Spalte enthält. Insbesondere möchten wir unsere Fantasy-Punkte-Berechnung zum Abfrageparameter der Abfragefunktion hinzufügen.

=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “select Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Col8*2) wobei Col2 >= 3000”)

Jetzt enthält unsere Tabelle den gesamten Fantasy-Output für jeden Spieler (eine viel hilfreichere Metrik).

Berechnen einer vorhandenen Abfrage, um eine berechnete Spalte einzuschließen

Aber diese neue Spaltenüberschrift sieht wirklich seltsam aus. Es wäre viel sauberer, wenn wir der Spalte ein benutzerdefiniertes Label zuweisen könnten (z. B. „Fantasy Points“) l. Es stellt sich heraus, dass dies möglich ist, obwohl die Syntax etwas seltsam ist.

Wir müssen am Ende unserer Abfrage weitere Daten hinzufügen:

1. Das Schlüsselwort „Label“

2. Wiederholen Sie das berechnete Feld

3. Die gewünschte Spaltenüberschrift als String

=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “select Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Col8*2) wo Col2 >= 3000 Label (Col2/25)+(Col7*6)-(Col8*2) 'Fantasy Points'")

Jetzt ist es eher so!

Hinzufügen einer benutzerdefinierten Bezeichnung zur Spalte

Diese Fantasy-Punkte-Spalte sieht viel besser aus! Aber ich glaube nicht, dass ich den Dezimalteil dieser Zahlen brauche.

Für mich fügen die Dezimalziffern unnötiges Hintergrundrauschen hinzu. Mal sehen, ob wir diese Zahlen aufrunden können.

Dazu wenden wir ein benutzerdefiniertes Format auf unsere Abfrage an. Konkret müssen wir angeben:

1. Das Schlüsselwort 'FORMAT'

2. Wiederholen Sie das berechnete Feld

3. Das benutzerdefinierte Zahlenformat (in unserem Fall „#“)

=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “select Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Col8*2) wo Col2 >= 3000 Label (Col2/25)+(Col7*6)-(Col8*2) 'Fantasy Points' FORMAT (Col2/25)+(Col7*6)-(Col8 *2) '#'")

Jetzt sieht unser Tisch sauberer aus.

Anwenden eines benutzerdefinierten Zahlenformats

Wir haben einen langen Weg zurückgelegt und unseren Datenerfassungsprozess optimiert. Aber wir haben noch einen Schritt, um dieses Tutorial abzuschließen.

Da diese Übung darauf abzielt, Ranglisten für diese Spieler zu erstellen, wäre es sinnvoll, sie zu sortieren, wenn wir die Daten importieren.

Lassen Sie uns als nächstes daran arbeiten.

6. Sortieren Sie die Zeilen basierend auf der berechneten Spalte

Wir stützen uns erneut auf unsere Abfrage, um eine anfängliche Zeilenreihenfolge für unsere Daten anzugeben. Wir wollen unsere Zeilen nach der berechneten Spalte ('Fantasy Points') sortieren. Aber wir wollen dies in absteigender Reihenfolge tun.

Das Sortieren kann durch die ORDER BY DESC-Klausel erreicht werden. Wieder (und leider) müssen wir auf unser vollständig berechnetes Feld verweisen.

HINWEIS: Sie können die Spaltenüberschrift des berechneten Felds nicht in der ORDER BY-Klausel verwenden, da der Alias ​​in der SQL-Reihenfolge der Operationen erst nach ORDER BY angewendet wird.

Hier ist unsere endgültige Formel:

=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “select Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Spalte8*2) wobei Spalte2 >= 3000 ORDER BY (Spalte2/25)+(Spalte7*6)-(Spalte8*2) DESC-Label (Spalte2/25)+(Spalte7*6)-(Spalte8*2 ) 'Fantasy Points' FORMAT (Col2/25)+(Col7*6)-(Col8*2) '#'")

Unser endgültiger Datensatz wird nun mit den besten Spielern zuerst geordnet (gemäß den spezifischen Bewertungsregeln unserer Liga).

Bestellen von Blättern basierend auf dem besten Spieler zuerst

Die Datenimportfunktionen von Google Sheets sind einfach, aber effektiv

Egal, ob Sie ein Statistikfreak, Student oder Forscher sind, die Vielseitigkeit der Datenimportfunktionen in Google Tabellen spart enorm Zeit. Mit den in diesem Artikel beschriebenen Funktionen haben Sie jetzt die Möglichkeit, alle Daten, die Sie im Internet finden, zu importieren, zu filtern, zu sortieren und weiter zu bearbeiten.

Und mit über 6 Milliarden Webseiten (Tendenz steigend) sieht es so aus, als ob Sie sehr beschäftigt sein werden.