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

如何用readr::read_csv指定压缩包中的特定CSV文件?

解决readr读取多文件ZIP时指定目标CSV的问题

哈哈,这个问题我之前也碰到过!其实你根本没遗漏参数,只是需要换个小技巧来精准指定ZIP包里的目标文件~

当readr的read_csv()遇到包含多个文件的ZIP时,它默认只会读取包里的第一个文件,所以会弹出你看到的“Multiple files in zip...”警告。要指定你需要的那个CSV,只需要在ZIP文件的路径后面加上::,再跟上目标文件名就行,具体用法如下:

示例代码

假设你的ZIP文件路径存在变量SSPdataZip中,你需要的目标CSV文件名为your_target_file.csv,修改后的代码应该是:

temp <- readr::read_csv(paste0(SSPdataZip, "::your_target_file.csv"), col_names = TRUE)

如果是直接写死路径的话,写法是:

temp <- readr::read_csv("SSPdata.zip::your_target_file.csv", col_names = TRUE)

小技巧:查看ZIP内的所有文件名

如果你不确定ZIP包里的具体文件名,可以用zip包的zip_list()函数来查看:

zip::zip_list(SSPdataZip)

这个函数会返回一个tibble,里面包含了ZIP内所有文件的名称、大小等信息,帮你准确找到需要的目标文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 10:07:51