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

如何在R语言中通过Box共享链接读取表格文件?

解决Box.com共享链接无法直接用read.table读取文本文件的问题

嘿,我完全懂你的困扰!Box的默认共享链接是指向网页预览界面的,不是直接的文件资源,所以你直接用read.table()去读的话,自然会拿到一堆HTML代码。别慌,这里有几个实用的解决办法:

方法1:获取Box的直接下载链接

这是最直接的方式:

  • 打开你的Box文件共享页面(就是你现在用的那个链接)
  • 找到页面上的「下载」按钮,右键点击它,选择「复制链接地址」
  • 把复制到的链接替换掉你原来的URL,再用read.table()读取就行

比如复制后的链接应该是类似这样的:

WES.ped.exp <- read.table("https://ucsf.box.com/shared/static/tht30egddqjqlq3koucqy7rhtzkh3ydi.txt")

方法2:用curl包自动处理跳转下载

如果不想手动复制链接,可以用curl包来帮你自动跟随跳转并下载文件:

# 先安装curl包(如果没装过的话)
install.packages("curl")
library(curl)

# 创建临时文件存储下载的内容
temp_file <- tempfile(fileext = ".txt")

# 下载文件,followlocation参数让请求自动跳转到真实文件地址
curl_download("https://ucsf.box.com/s/tht30egddqjqlq3koucqy7rhtzkh3ydi", 
              destfile = temp_file, 
              handle = new_handle(followlocation = TRUE))

# 读取临时文件
WES.ped.exp <- read.table(temp_file)

方法3:用httr包直接读取内容

另一个选项是用httr包发送请求,获取文件的文本内容后直接读取:

# 安装httr包(如果没装过)
install.packages("httr")
library(httr)

# 发送请求并跟随跳转,获取文本内容
response <- GET("https://ucsf.box.com/s/tht30egddqjqlq3koucqy7rhtzkh3ydi", followlocation = TRUE)
file_content <- content(response, as = "text")

# 直接从文本内容读取数据
WES.ped.exp <- read.table(text = file_content)

这些方法的核心都是绕开Box的预览页面,直接获取到真实的文本文件资源。我自己用方法1和方法2最多,亲测有效!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:12:21