Utilizați capacitățile de import ale Google Sheet pentru a fi mai productiv
Publicat: 2022-08-04În Statele Unite, sportul este o afacere mare . Aproximativ 154 de milioane de oameni urmăresc sporturi în direct cel puțin o dată pe lună. Și se așteaptă ca aceste cifre să crească în fiecare an.
Odată cu boom-ul sportului, industriile de cabană cum ar fi sporturile fantastice, DFS și site-urile de pariuri au oferit fanilor un alt motiv să urmărească (și să devină mai implicați). Aceste jocuri permit spectatorilor pricepuți să câștige bani mari depășind alți jucători (și caselor de pariuri sportive) pentru a câștiga concursuri online profitabile.
Principala modalitate prin care jucătorii fantasy obțin un avantaj este prin utilizarea algoritmilor proprietari pentru a proiecta performanțele jucătorilor. Masarea statisticilor jucătorilor le permite jucătorilor să găsească bijuterii statistice obscure pe care le pot folosi pentru a câștiga mai multe concursuri.
Astăzi, vom vedea cum puteți realiza acest lucru folosind Foi de calcul Google. Ne vom pregăti pentru o schiță ipotetică fantasy importând statisticile jucătorilor de pe un site web public. Apoi, vom folosi puterea funcțiilor pentru a transforma, manipula, filtra și sorta aceste date după bunul nostru plac.
Încă mai copiați conținut în WordPress?
Ați făcut greșit... spuneți la revedere pentru totdeauna:
- ❌ Curățarea HTML, eliminarea etichetelor span, întreruperi de linie etc.
- ❌ Crearea manuală a link-urilor de ancorare a tabelului de conținut pentru toate anteturile,
- ❌ Redimensionarea și comprimarea imaginilor una câte una înainte de a le încărca înapoi în conținut,
- ❌ Optimizarea imaginilor cu nume de fișiere descriptive și atribute de text alternativ,
- ❌ Lipirea manuală a atributelor target="_blank" și/sau „nofollow” la fiecare link
Cuprins
1. Identificați-vă online sursa de date țintă
2. Importați date tabelare în Foi de calcul Google
3. Limitați coloanele pe care doriți să le importați
4. Filtrați rândurile importate pe baza criteriilor personalizate
5. Generați un punct de ieșire Fantasy folosind un câmp calculat
6. Ordonați rândurile pe baza coloanei calculate
wpchtmlp id=15056
1. Identificați-vă online sursa de date țintă
Participanții ligilor de premii de fotbal fantezie știu cât de important este să evalueze și să clasifice jucătorii înaintea unui draft de ligă. Jucătorii fantastici încep de obicei cu statistici din sezonul precedent atunci când își dezvoltă clasamentul jucătorilor. Apoi, își ajustează clasamentul jucătorilor în funcție de o varietate de factori:
● Leziuni potențiale
● Bătălii de poziție
● Proiectii de puncte Fantasy
● Regulile de scor al ligii
● etc
Pentru acest exemplu, să ne imaginăm că creăm clasamente ale jucătorilor pentru poziția de fundaș într-o ligă de fotbal fantastic. Am găsit datele necesare publicate pe site-ul Ligii Naționale de Fotbal.
Scopul nostru este să importam aceste date statistice în foile Google pentru a crea clasamentele noastre personalizate pentru sezonul curent.
2. Importați date tabelare în Foi de calcul Google
Funcția pe care o vom folosi pentru a efectua importul de date este IMPORTHTML. Documentația Foi de calcul Google pentru această funcție arată că va trebui să furnizăm trei intrări:
- Adresa URL a paginii de examinat
- Interogarea pe care dorim să o efectuăm (fie „listă”, fie „tabel”, în funcție de marcajul structural pe care îl vizam).
- Un index (începând cu 1) care indică ce tabel din sursa HTML ar trebui importat.
Am identificat deja adresa URL a paginii pe care o vizam. Interogarea pe care dorim să o specificăm este șirul „tabel”, deoarece informațiile sunt stocate într-un tabel HTML.
Notă: Dacă doriți să importați o listă cu marcatori (sau numerotate), specificați „listă” în loc de „tabel” ca parametru secundar.
În cele din urmă, trebuie să determinăm unde se află tabelul nostru țintă (secvențial) în codul sursă HTML pentru pagina în sine. Pentru a face acest lucru, faceți clic dreapta oriunde în fereastra browserului și selectați „Vizualizare sursă”. Apoi puteți căuta șirul „<table” pentru a determina indexul corect.
Deoarece tabelul nostru țintă este primul (și singurul) tabel de pe această pagină, indexul nostru va fi 1.
Iată formula noastră inițială:
=IMPORTHTML(„https://www.nfl.com/stats/player-stats/”, „tabel”, 1)
După ce introducem formula în A1, iată cum apar datele:
Super, a fost ușor! Dar putem folosi mai multe funcții Google Sheets pentru a îmbunătăți acest proces. Văd câteva deficiențe în procesul nostru actual:
- Nu avem nevoie de TOATE coloanele din tabelul sursă. Vreau să-mi limitez datele doar la câmpurile de care am nevoie pentru a-mi crea clasamente.
- Aș dori să specific câteva criterii minime pe care trebuie să le îndeplinească un jucător înainte de a le importa (am standarde!).
- Aș dori o singură coloană suplimentară care să rezumă cât de bine a performat jucătorul pe parcursul întregului sezon.
- Din moment ce clasific acești jucători, cei mai buni jucători ar trebui să fie în frunte.
Să vedem cum putem atinge aceste obiective.
3. Limitați coloanele pe care doriți să le importați
Nu are rost să ne aglomeram foaia de calcul cu date inutile. Din fericire, Foi de calcul Google oferă o modalitate de a importa numai coloanele pe care le dorim.
Privind coloanele din tabelul nostru țintă, mă interesează doar câteva dintre coloane.
1. Jucător (coloana 1)
2. Pass Yards (coloana 2)
3. TD (coloana 7)
4. INT (coloana 8)
Aceste coloane sunt toate datele de care am nevoie pentru a mă ajuta să clasific acești jucători pentru sezonul următor.
Pentru a limita coloanele importate, trebuie să împachetăm funcția noastră IMPORTHTML într-o funcție de interogare. Funcția de interogare ia doi parametri:
- Datele reprezentând intervalul de celule pe care se efectuează interogarea.
- O interogare de efectuat, scrisă în limbajul de interogare Google Visualization API.
Pentru parametrul de date, vom folosi întreaga funcție IMPORTHTML pe care am construit-o deja. Pentru interogare, vom furniza o interogare care vizează coloanele pe care dorim să le includem în importul nostru.
=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, „tabel”, 1), „selectați Col1, Col2, Col7, Col8”)
Acum datele noastre importate arată astfel, fără coloane inutile!
Așadar, acum putem importa cu succes setul de date dorit, limitând, de asemenea, coloanele care vor apărea în foile noastre finale. Dar mai este de lucru.
4. Filtrați rândurile importate pe baza criteriilor personalizate
Pentru clasamentul meu, vreau să iau în considerare doar fundașii care au aruncat pentru cel puțin 3000 de metri. Mai general, vreau să filtrez rândurile importate pe baza criteriilor dintr-o anumită coloană.
Pentru a crea un filtru, vom ajusta funcția de interogare existentă pentru a include o clauză WHERE. Mai exact, vom indica că vrem să importăm doar rânduri în care valoarea din Col2 este mai mare sau egală cu 3000.
=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, „tabel”, 1), „selectați Col1, Col2, Col7, Col8 unde Col2 >= 3000”)
Acum, când examinăm setul de rezultate, putem vedea că Lamar Jackson (singurul jucător cu mai puțin de 3000 de metri de pasă) este omis. Mai mult noroc la anul!
Notă: Lamar Jackson este un herghelie și, în mod normal, l-am include în clasamentul nostru. Asta e teoretic, oameni buni!
5. Generați un punct de ieșire Fantasy folosind un câmp calculat
Am importat cu succes statisticile noastre brute de quarterback, am tăiat coloanele după bunul nostru plac și am eliminat câțiva jucători nedoriți. Acesta este un început excelent pentru crearea clasamentelor noastre personalizate.
Dar statisticile brute nu sunt atât de utile când vine vorba de sporturi fantastice. Ceea ce trebuie cu adevărat să facem este să calculăm rezultatul punctului de fantezie pentru fiecare jucător. Acesta este un indicator mult mai bun al succesului.
Și sigur, am putea adăuga manual o altă coloană, efectuând acest calcul manual în foaia noastră. Dar, în schimb, să eficientizăm lucrurile efectuând calculul în timpul procesului de import.
Dezvoltarea unei formule pentru calculul punctelor fantezie
Deci, care este formula pe care o folosim pentru a calcula ieșirea punctului de fantezie pentru fundași?
Se pare că această formulă va varia de la o ligă la alta, în funcție de configurațiile specifice de punctaj. Dar pentru acest tutorial, vom folosi o formulă similară cu sistemul standard de notare:
Puncte Fantasy = (Pass Yds / 25) + (TDs * 6) – (INTs * 2)
Ajustarea interogării pentru a include câmpul calculat
Pentru a integra câmpul calculat, vom ajusta interogarea noastră existentă pentru a include o coloană calculată. Mai exact, dorim să adăugăm calculul punctelor noastre de fantezie la parametrul de interogare al funcției de interogare.
=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, „tabel”, 1), „selectați Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Col8*2) unde Col2 >= 3000”)
Acum foaia noastră de calcul conține rezultatul total de fantezie pentru fiecare jucător (o valoare mult mai utilă).
Dar acel nou antet de coloană arată foarte ciudat. Ar fi mult mai curat dacă am putea aplica o etichetă personalizată coloanei („Puncte fantezie”, de exemplu) l. Se pare că acest lucru este posibil, deși sintaxa este puțin ciudată.
Ceea ce trebuie să facem este să adăugăm mai multe date la sfârșitul interogării noastre:
1. Cuvântul cheie „etichetă”
2. Repetați câmpul calculat
3. Antetul de coloană dorit ca șir
=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, „tabel”, 1), „selectați Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Col8*2) unde Col2 >= 3000 etichetă (Col2/25)+(Col7*6)-(Col8*2) „Puncte fantezie””)
Acum seamănă mai mult!
Coloana cu puncte Fantasy arată mult mai bine! Dar nu cred că am nevoie de partea zecimală a acestor numere.
Pentru mine, cifrele zecimale adaugă zgomot de fundal inutil. Deci, să vedem dacă putem rotunji aceste numere.
Pentru a realiza acest lucru, vom aplica un format personalizat interogării noastre. Mai exact, trebuie să precizăm:
1. Cuvântul cheie „FORMAT”
2. Repetați câmpul calculat
3. Formatul de număr personalizat („#” în cazul nostru)
=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, „tabel”, 1), „selectați Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Col8*2) unde Col2 >= 3000 etichetă (Col2/25)+(Col7*6)-(Col8*2) FORMAT „Puncte fantezie” (Col2/25)+(Col7*6)-(Col8 *2) „#””)
Acum masa noastră arată mai curată.
Am parcurs un drum lung și ne-am simplificat procesul de colectare a datelor. Dar mai avem un pas pentru a finaliza acest tutorial.
Deoarece acest exercițiu își propune să creeze clasamente pentru acești jucători, ar fi util să le sortăm atunci când importăm datele.
Să lucrăm la asta în continuare.
6. Ordonați rândurile pe baza coloanei calculate
Ne vom baza din nou pe interogarea noastră pentru a specifica o ordine inițială a rândurilor pentru datele noastre. Dorim să ne sortăm rândurile după coloana calculată („Puncte fantezie”). Dar vrem să facem acest lucru în ordine descrescătoare.
Sortarea se poate realiza prin clauza ORDER BY DESC. Din nou (și, din păcate), va trebui să facem referință la câmpul nostru calculat complet.
NOTĂ: Nu puteți utiliza antetul de coloană a câmpului calculat în clauza ORDER BY deoarece în ordinea SQL a operațiilor aliasul nu este aplicat decât după ORDER BY.
Iată formula noastră finală:
=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, „tabel”, 1), „selectați Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Col8*2) unde Col2 >= 3000 ORDER BY (Col2/25)+(Col7*6)-(Col8*2) Etichetă DESC (Col2/25)+(Col7*6)-(Col8*2 ) FORMAT „Puncte fantezie” (Col2/25)+(Col7*6)-(Col8*2) „#””)
Setul nostru de date final este acum ordonat cu cei mai buni jucători mai întâi (în conformitate cu regulile specifice de punctare ale ligii noastre).
Funcțiile de import de date ale Foi de calcul Google sunt simple, dar eficiente
Indiferent dacă sunteți un expert în statistici, un student sau un cercetător, versatilitatea funcțiilor de import de date din Foi de calcul Google este o economie de timp uriașă. Folosind funcțiile detaliate în acest articol, aveți acum puterea de a importa, filtra, sorta și manipula în continuare orice date pe care le puteți găsi pe Internet.
Și cu peste 6 miliarde de pagini web (și în număr), se pare că vei fi foarte ocupat.