我有一个让我发疯的问题。我有以下表作为我的源表:
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.txt
或0000893220-03-000441.txt
等,而是希望根据v1中的ID更改文件名,以将文件命名为1.txt
,2.txt
等。
任何人都可以帮我解决这个问题吗?非常感谢您的帮助:)
答案 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))