使用R语言批量下载TXT文件:基于New_test数据框的需求问询
R批量下载多个txt文件的解决方案
嘿,这事儿很容易解决!我给你准备了两种实用的R脚本方案,帮你快速从New_test数据框里批量下载所有指定的txt文件。
方法一:基础R实现(无需额外安装包)
如果你不想加载额外的包,用基础R的apply()函数就能搞定,直接遍历数据框的每一行执行下载:
# 遍历数据框的每一行,完成下载任务 apply(New_test, 1, function(row) { # mode = "wb" 确保文件以二进制模式保存,避免编码或格式问题 download.file(url = row["url"], destfile = row["code"], mode = "wb") })
方法二:Tidyverse风格(带进度提示和错误处理)
如果你习惯用tidyverse工具链,推荐用purrr包的pwalk()函数,它更适合处理多参数的批量任务,还能轻松加进度提示和错误捕获:
首先确保你安装了tidyverse包(如果没装的话先跑install.packages("tidyverse")):
library(tidyverse) # 批量下载并添加进度提示、错误处理 New_test %>% select(url, code) %>% # 只保留需要的两列 pwalk(function(url, code) { tryCatch({ download.file(url = url, destfile = code, mode = "wb") cat(sprintf("✅ 已完成下载:%s\n", code)) }, error = function(e) { cat(sprintf("❌ 下载失败:%s,错误信息:%s\n", code, e$message)) }) })
小提示
- 下载的文件默认会保存在当前工作目录,你可以用
getwd()查看当前路径,用setwd("你的目标文件夹路径")更改保存位置。 mode = "wb"参数很重要,尤其是处理非纯ASCII文本的文件时,能避免乱码或文件损坏。- 错误处理部分会帮你记录下载失败的文件和原因,方便后续重新尝试或排查问题。
内容的提问来源于stack exchange,提问作者Mel Schickel
相关产品推荐
相关产品推荐

