使用R中的文件名创建一个新列
我对一个表进行web抓取,但我想在包含信息的所有行(如每行中的ID)中添加一个新列,其中包含该文件的名称。例如: 文件名为“16-12-19.xlsx” 所以我想添加一个新的列,在包含信息的每一行上写上“16-12-19” 例如: *我稍后自定义的数据格式 整个守则是:使用R中的文件名创建一个新列,r,R,我对一个表进行web抓取,但我想在包含信息的所有行(如每行中的ID)中添加一个新列,其中包含该文件的名称。例如: 文件名为“16-12-19.xlsx” 所以我想添加一个新的列,在包含信息的每一行上写上“16-12-19” 例如: *我稍后自定义的数据格式 整个守则是: library("openxlsx") library('rvest') start <- as.Date("16-12-19",format="%d-%m-%y") end <- as.Date("05-0
library("openxlsx")
library('rvest')
start <- as.Date("16-12-19",format="%d-%m-%y")
end <- as.Date("05-01-20",format="%d-%m-%y")
theDate <- start
while (theDate <= end)
{
url <- (paste0("http://www.b3.com.br/pt_br/produtos-e-servicos/emprestimo-de-ativos/renda-variavel/emprestimos-registrados/renda-variavel-8AE490CA64CD50310164D1EFD6412F1C.htm?data=",format(theDate,"%d/%m/%y"),"&f=0"))
site <- read_html(url)
Info_Ajuste_HTML <- html_nodes(site,'table')
Info_ajuste <- html_text(Info_Ajuste_HTML)
head(Info_ajuste,20)
if (length(Info_Ajuste_HTML) > 0) { ### <- Added a check here
head(Info_Ajuste_HTML)
lista_tabela <- site %>%
html_nodes("table") %>%
html_table(fill = TRUE)
str(lista_tabela)
head(lista_tabela[[1]], 10)
AJUSTE <- lista_tabela[[1]]
#View(AJUSTE)
write.xlsx(AJUSTE, file=paste0("C:/Users/Jessé/Desktop/R/XLS/",paste0(format(theDate,"%d-%m-%y"),".xlsx")), col.names = (FALSE))
theDate <- theDate + 1
}
else {theDate <- theDate + 1 }
}
库(“openxlsx”)
图书馆('rvest')
开始您可以使用df[,c(filename)]=rep(filename,nrow(df))
其中df
是包含该文件数据的数据框,而filename
包含该文件的名称。我编辑了我的问题,并将整个代码放在一起以使其更简单。您的代码在没有查看实际HTML数据的情况下在“filename”中生成了一个错误,我假设ajust
是包含表数据的数据框。如果是,请使用AJUSTE
代替解决方案代码段中的df
。fl