使用 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 亿个网页(并且还在增加),看起来您会非常忙碌。