使用IMPORTXML函数无法加载NBA球队进阶数据,求解决方案
用Google Sheets导入NBA球队进阶数据的方案
你之前用=IMPORTXML("https://www.nba.com/stats/teams/advanced?LastNGames=5","//tr")只能抓取所有表格行,无法精准提取指定列,下面是针对TEAM、OFFRTG、DEFRTG、PACE列的具体操作:
单列导入方式
逐个单元格输入对应公式,分别提取目标数据:
- 球队名称(TEAM):选中A2单元格,输入公式
=IMPORTXML("https://www.nba.com/stats/teams/advanced?LastNGames=5","//table[@class='Crom_table__p1iZz']//tbody//td[@data-stat='team_name']/a") - 进攻效率(OFFRTG):选中B2单元格,输入公式
=IMPORTXML("https://www.nba.com/stats/teams/advanced?LastNGames=5","//table[@class='Crom_table__p1iZz']//tbody//td[@data-stat='off_rtg']") - 防守效率(DEFRTG):选中C2单元格,输入公式
=IMPORTXML("https://www.nba.com/stats/teams/advanced?LastNGames=5","//table[@class='Crom_table__p1iZz']//tbody//td[@data-stat='def_rtg']") - 节奏(PACE):选中D2单元格,输入公式
=IMPORTXML("https://www.nba.com/stats/teams/advanced?LastNGames=5","//table[@class='Crom_table__p1iZz']//tbody//td[@data-stat='pace']")
一次性导入所有列
如果想一键导入四列数据,选中A2单元格,输入数组公式:
=ARRAYFORMULA({IMPORTXML("https://www.nba.com/stats/teams/advanced?LastNGames=5","//table[@class='Crom_table__p1iZz']//tbody//td[@data-stat='team_name']/a"), IMPORTXML("https://www.nba.com/stats/teams/advanced?LastNGames=5","//table[@class='Crom_table__p1iZz']//tbody//td[@data-stat='off_rtg']"), IMPORTXML("https://www.nba.com/stats/teams/advanced?LastNGames=5","//table[@class='Crom_table__p1iZz']//tbody//td[@data-stat='def_rtg']"), IMPORTXML("https://www.nba.com/stats/teams/advanced?LastNGames=5","//table[@class='Crom_table__p1iZz']//tbody//td[@data-stat='pace']")})
注意事项
- 若公式失效,大概率是NBA官网更新了表格的class或属性,此时需要右键页面→查看网页源码,重新确认表格的class和列对应的
data-stat值 - Google Sheets默认允许外部数据源导入,若报错可检查文档的权限设置
- 导入的数据会自动同步,刷新表格或重新计算公式即可获取最新数据
内容的提问来源于stack exchange,提问作者ShadyTree
相关产品推荐
相关产品推荐

