You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用googlesheets4的range_read_cells()读取谷歌表格超链接

批量提取谷歌表格中的超链接URL

要批量提取谷歌表格单元格中的超链接URL并添加为新列,可以通过以下步骤实现:

1. 加载依赖包

确保已安装并加载所需的R包:

library(googlesheets4)
library(dplyr)
library(purrr)
library(tidyr)

2. 读取完整单元格元数据

使用range_read_cells()获取包含超链接的完整单元格数据:

# 读取目标表格的完整单元格信息
cell_metadata <- range_read_cells(
  ss = "https://docs.google.com/spreadsheets/d/1oLj5YyBG2-ucvhhMUrl2K0Ko8jJkX4uvDChVfSfxT0o/edit#gid=0",
  sheet = "Sheet1",
  range = "A1:C5",
  cell_data = "full"
)

3. 提取每个单元格的超链接URL

遍历cell列中的嵌套列表,提取hyperlink字段,无超链接的单元格填充为NA:

cell_metadata <- cell_metadata %>%
  mutate(
    hyperlink_url = map_chr(cell, ~ .x$hyperlink %||% NA_character_)
  )

4. 合并URL到原表格

先读取仅含显示文本的原表格,再将提取的URL按行列对应合并为新列:

# 读取原表格的显示文本
original_data <- read_sheet(
  ss = "https://docs.google.com/spreadsheets/d/1oLj5YyBG2-ucvhhMUrl2K0Ko8jJkX4uvDChVfSfxT0o/edit#gid=0",
  sheet = "Sheet1",
  range = "A1:C5"
)

# 将URL数据转为宽格式,匹配原表格的列结构
url_wide <- cell_metadata %>%
  select(row, col, hyperlink_url) %>%
  pivot_wider(
    names_from = col,
    values_from = hyperlink_url,
    names_prefix = "url_col_"
  )

# 合并原表格与URL列
final_data <- bind_cols(original_data, url_wide %>% select(-row))

说明

  • %||% 用于处理无超链接的单元格,自动返回NA,后续可通过replace_na()将NA替换为指定值
  • 生成的url_col_1、url_col_2等列对应原表格的A、B、C列,可根据需要重命名列名

内容的提问来源于stack exchange,提问作者darth_chaos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 20:25:16