使用 Google 表格的導入功能提高工作效率

已發表: 2022-08-04

在美國,體育是一項大生意。 大約有 1.54 億人每月至少觀看一次體育直播。 預計這些數字每年都會攀升。

隨著體育熱潮,夢幻體育、DFS 和道具投注網站等家庭手工業為粉絲提供了另一個觀看的理由(並變得更加參與)。 這些遊戲允許精明的觀眾通過智取其他玩家(和體育博彩)贏得利潤豐厚的在線比賽來賺取大筆資金。

幻想遊戲玩家獲得優勢的主要方式是使用專有算法來預測玩家表現。 按摩玩家統計數據可以讓遊戲玩家找到他們可以用來贏得更多比賽的晦澀統計寶石。

今天,我們將看看如何使用 Google 表格完成此任務。 我們將通過從公共網站導入玩家統計數據來準備假設的幻想選秀。 然後,我們將使用函數的強大功能來轉換、操作、過濾和排序這些數據以滿足我們的喜好。

仍在將內容複製到 WordPress 中?

你做錯了……永遠告別:

  • ❌ 清理 HTML,去除 span 標籤,換行等。
  • ❌ 手動為所有標題創建目錄錨 ID 鏈接,
  • ❌ 在上傳回您的內容之前,一張一張地調整和壓縮圖像,
  • ❌ 使用描述性文件名和替代文本屬性優化圖像,
  • ❌ 手動將 target=“_blank” 和/或 “nofollow” 屬性粘貼到每個鏈接
獲得 5 次免費出口

目錄

1.在線識別您的目標數據源
2. 將表格數據導入 Google 表格
3.限制要導入的列
4. 根據自定義條件過濾導入的行
5. 使用計算字段生成幻想點輸出
6.基於計算列的訂單行

wpchtmlp id=15056

1.在線識別您的目標數據源

夢幻足球大獎聯賽的參與者知道在聯賽選秀之前評估和排名球員的重要性。 幻想球員在製定球員排名時通常會從上賽季的統計數據開始。 然後,他們根據多種因素調整玩家排名:

● 潛在傷害

● 陣地戰

● 幻想點投影

● 聯賽計分規則

● 等

對於此示例,假設我們正在為夢幻足球聯賽中的四分衛位置創建球員排名。 我在美國國家橄欖球聯盟的網站上找到了必要的數據。

NFL 2021 傳球數據截圖

我們的目標是將這些統計數據導入 Google 表格,以創建我們當前賽季的自定義排名。

2. 將表格數據導入 Google 表格

我們將用於執行數據導入的函數是 IMPORTHTML。 此函數的 Google 表格文檔顯示我們需要提供三個輸入:

  1. 要檢查的頁面的 url
  2. 我們要執行的查詢(“列表”或“表格”,取決於我們定位的結構標記)。
  3. 一個索引(從 1 開始),指示應導入 HTML 源中的哪個表。

我們已經確定了我們要定位的頁面的 url。 我們要指定的查詢是字符串“table”,因為信息存儲在 HTML 表中。

注意:如果要導入項目符號(或編號)列表,請指定“list”而不是“table”作為輔助參數。

最後,我們需要確定目標表(按順序)在頁面本身的 HTML 源代碼中的位置。 為此,請右鍵單擊瀏覽器窗口中的任意位置並選擇“查看源代碼”。 然後您可以搜索字符串“<table”以確定正確的索引。

在瀏覽器窗口截圖中查看源代碼

由於我們的目標表是此頁面上的第一個(也是唯一一個)表,因此我們的索引將為 1。

這是我們的初始公式:

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

在我們將公式輸入 A1 後,數據顯示如下:

在谷歌表格屏幕截圖上導入 html 代碼

太好了,這很容易! 但是我們可以使用更多的 Google 表格功能來改進這個過程。 我看到我們當前流程的幾個缺點:

  1. 我們不需要源表中的所有列。 我想將我的數據限制在我需要創建排名的字段中。
  2. 我可能想指定一些玩家在導入之前必須滿足的最低標準(我有標準!)。
  3. 我想要一個單獨的附加專欄來總結球員在整個賽季中的表現。
  4. 既然我在對這些球員進行排名,最好的球員應該排在最前面。

讓我們看看如何實現這些目標。

3.限制要導入的列

用不必要的數據把我們的電子表格弄得亂七八糟是沒有意義的。 幸運的是,谷歌表格提供了一種只導入我們想要的列的方法。

查看目標表上的列,我只對其中的幾個列感興趣。

1. 玩家(第 1 列)

2. 通過碼(第 2 列)

3. TD(第 7 欄)

4. INT(第 8 欄)

這些列是我需要幫助我為即將到來的賽季對這些球員進行排名的所有數據。

importhtml 功能谷歌表格後的列視圖

為了限制導入的列,我們需要將 IMPORTHTML 函數包裝在查詢函數中。 查詢函數有兩個參數:

  1. 表示要對其執行查詢的單元格範圍的數據。
  2. 要執行的查詢,用 Google Visualization API 查詢語言編寫。

對於 data 參數,我們將使用我們已經構建的整個 IMPORTHTML 函數。 對於查詢,我們將提供一個針對我們要包含在導入中的列的查詢。

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

現在我們導入的數據看起來像這樣,沒有不必要的列!

刪除谷歌表格上不必要的列

因此,現在我們可以成功導入所需的數據集,同時還可以限制將出現在最終工作表中的列。 但仍有工作要做。

4. 根據自定義條件過濾導入的行

對於我的排名,我只想考慮投擲至少 3000 碼的四分衛。 更一般地說,我想根據特定列中的條件過濾導入的行。

要創建過濾器,我們將調整現有的查詢函數以包含 WHERE 子句。 具體來說,我們將指出我們只想導入 Col2 中的值大於或等於 3000 的行。

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

現在,當我們檢查結果集時,我們可以看到 Lamar Jackson(唯一傳球少於 3000 碼的球員)被忽略了。 明年好運!

注意:拉馬爾·傑克遜是個天才,我們通常會將他列入我們的排名。 這是理論上的,伙計們!

5. 使用計算字段生成幻想點輸出

我們已成功導入原始四分衛統計數據,根據自己的喜好修剪列,並過濾掉一些不受歡迎的球員。 這是創建我們的自定義排名的良好開端。

但是對於夢幻體育來說,原始數據並沒有那麼大的幫助。 我們真正需要做的是計算每個玩家的幻想點輸出。 這是一個更好的成功指標。

當然,我們可以手動添加另一列,在工作表中手動執行此計算。 但是,讓我們通過在導入過程中執行計算來簡化事情。

開發幻想點數計算公式

那麼我們用來計算四分衛幻想點輸出的公式是什麼?

事實證明,這個公式會因聯賽而異,具體取決於您的具體得分配置。 但是對於本教程,我們將使用類似於標準評分系統的公式:

幻想點數 = (Pass Yds / 25) + (TDs * 6) – (INTs * 2)

調整查詢以包含計算字段

要集成計算字段,我們將調整現有查詢以包含計算列。 具體來說,我們想將我們的幻想點計算添加到查詢函數的查詢參數中。

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

現在我們的電子表格包含每個玩家的總幻想輸出(一個更有幫助的指標)。

計算現有查詢以包含計算列

但是那個新的列標題看起來很奇怪。 如果我們可以將自定義標籤應用於列(例如“幻想點”),那會更簡潔。 事實證明這是可能的,儘管語法有點奇怪。

我們需要做的是在查詢末尾添加更多數據:

1.關鍵詞“標籤”

2.重複計算字段

3. 所需的列標題作為字符串

=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “選擇 Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Col8*2) 其中 Col2 >= 3000 標籤 (Col2/25)+(Col7*6)-(Col8*2) '幻想點'”)

現在更像了!

將自定義標籤添加到列

那個幻想點欄看起來好多了! 但我認為我不需要這些數字的小數部分。

對我來說,十進制數字會增加不必要的背景噪音。 所以讓我們看看我們是否可以將這些數字四捨五入。

為此,我們將對查詢應用自定義格式。 具體來說,我們需要指定:

1.關鍵字“格式”

2.重複計算字段

3.自定義數字格式(在我們的例子中是“#”)

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

現在我們的桌子看起來更乾淨了。

應用自定義數字格式

我們已經取得了長足的進步,並簡化了我們的數據收集流程。 但是我們還有一步來完成本教程。

由於此練習旨在為這些玩家創建排名,因此在我們導入數據時對它們進行排序會很有用。

讓我們繼續努力。

6.基於計算列的訂單行

我們將再次依靠查詢來指定數據的初始行順序。 我們想按計算的列(“幻想點”)對行進行排序。 但我們想按降序執行此操作。

排序可以通過 ORDER BY DESC 子句完成。 同樣(不幸的是),我們需要引用我們的完整計算字段。

注意:您不能在 ORDER BY 子句中使用計算字段列標題,因為在 SQL 操作順序中,直到 ORDER BY 之後才會應用別名。

這是我們的最終公式:

=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “選擇 Col1, Col2, Col7, Col8, (Col2/25)+(Col7* 6)-(Col8*2) 其中 Col2 >= 3000 ORDER BY (Col2/25)+(Col7*6)-(Col8*2) DESC 標籤 (Col2/25)+(Col7*6)-(Col8*2 ) '幻想點' FORMAT (Col2/25)+(Col7*6)-(Col8*2) '#'”)

我們的最終數據集現在按照最佳球員的順序排列(根據我們聯盟的具體得分規則)。

首先根據最佳玩家排序表

谷歌表格的數據導入功能簡單但有效

無論您是統計極客、學生還是研究人員,Google 表格中數據導入功能的多功能性都可以節省大量時間。 使用本文詳述的功能,您現在可以導入、過濾、排序和進一步操作您在 Internet 上找到的任何數據。

擁有超過 60 億個網頁(並且還在增加),看起來您會非常忙碌。