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

R语言下载后缀为/download的zip压缩包并读取内部文件的问题

报错的根因不是工作目录问题,是你指定读取的文件名和压缩包内的实际文件路径不匹配。B2Drop将分享文件夹打包为zip时,会自动在压缩包根目录创建和分享ID同名的子目录,你要读取的csv文件存放在该子目录下,并非直接在压缩包根目录。

你可以先运行以下代码查询压缩包内的所有文件路径,确认目标文件的准确位置:

temp <- tempfile()
download.file("https://<你的B2Drop分享路径>/download",temp, mode="wb")
# 打印压缩包内所有文件的完整路径
print(unzip(temp, list = TRUE)$Name)
unlink(temp)

本次测试场景下,运行上述代码后会看到目标文件路径为K9sPPjWz3jxtXEq/Test_file1.csv,将读取路径替换为该值即可正常读取。

修正后完整可运行代码

temp <- tempfile()
download.file("https://<你的B2Drop分享路径>/download",temp, mode="wb")
# 替换为实际查询到的文件路径即可
data <- read.table(unz(temp, "K9sPPjWz3jxtXEq/Test_file1.csv"), header = TRUE)
unlink(temp)

如果需要批量处理多个同类型B2Drop压缩包,可通过代码自动提取子目录名拼接目标文件名,无需手动查询路径:

temp <- tempfile()
download.file("https://<你的B2Drop分享路径>/download",temp, mode="wb")
# 自动获取压缩包内第一个子目录名
sub_dir <- unzip(temp, list = TRUE)$Name[1]
# 拼接目标文件名
target_path <- paste0(sub_dir, "Test_file1.csv")
data <- read.table(unz(temp, target_path), header = TRUE)
unlink(temp)

内容的提问来源于stack exchange,提问作者L.Gillespie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:54:03