使用R中的文件名创建一个新列

使用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

我对一个表进行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-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