R,重命名成千上万的下载文件

时间:2016-11-26 17:37:16

标签: r loops download file-rename

我有一个让我发疯的问题。我有以下表作为我的源表:

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

.....

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

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等。

任何人都可以帮我解决这个问题吗?非常感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

使用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))
相关问题