2016-11-26 46 views
0

我有个问题让我发疯。我有以下表作为我的源表:R,重命名成千上万的下载文件

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

.....

基本上,我有在V2V1 ID和URL。我需要一次下载数千个类似的文件。到目前为止,我用下面的代码解决下载问题:(可以说是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

使用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)) 
+0

非常感谢你!!!!它工作得很好!!! – sxgn