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.txt
或 0000893220-03-000441.txt
等,而是希望根据 v1 中的 ID 更改文件名,将文件命名为1.txt
、2.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))
我有一个让我抓狂的问题。我有以下 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.txt
或 0000893220-03-000441.txt
等,而是希望根据 v1 中的 ID 更改文件名,将文件命名为1.txt
、2.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))