R,重命名数千个下载的文件

R, rename thousands of downloaded files

我有一个让我抓狂的问题。我有以下 tables 作为我的来源 table:

v1 v2

1 http://www.sec.gov/Archives/edgar/data/20/0000893220-01-000315.txt

2 http://www.sec.gov/Archives/edgar/data/20/0000893220-03-000441.txt

3 http://www.sec.gov/Archives/edgar/data/20/0000893220-04-000596.txt

4 http://www.sec.gov/Archives/edgar/data/20/0000893220-05-000728.txt

5 http://www.sec.gov/Archives/edgar/data/20/0000893220-06-000650.txt

.....

基本上,我的ID在V1和URL在V2。我需要一次下载数千个类似的文件。到目前为止,我使用以下代码解决了下载问题:(假设 link 是包含我上面提供的 table 的数据集)

urls<-c(link$v2)

for (url in urls){ download.file(url, destfile = basename(url), quiet=T) }

此代码可以正常下载。但是,现在,我不想将下载文件的名称保留为原始基本名称,例如 0000893220-01-000315.txt0000893220-03-000441.txt 等,而是希望根据 v1 中的 ID 更改文件名,将文件命名为1.txt2.txt

谁能帮我解决这个问题?非常感谢您的帮助:)

使用file.rename

with(link, file.rename(basename(v2), paste0(v1, ".txt")))

或者,在下载时给它们取一个你想要的名字:

nr <- nrow(link)
for(i in 1:nr) with(link[i,], download.file(v2, destfile = paste0(v1, ".txt"), quiet=TRUE))