我有一个循环,该循环遍历一组1的团队,并将阵容的输出写入.csv。因此,我有31个由teamRename
命名的.csv,其中有1列,也就是player_data
。我想将所有人加入一个DF并将1 DF导出到.csv。所以31列。同样,每个团队列/数据框中的行数可能不相同。
这是到目前为止的脚本:
library(rvest)
library(dplyr)
# teams
c("Anaheim-Ducks","Arizona-Coyotes","Boston-Bruins","Buffalo-Sabres",
"Calgary-Flames","Carolina-Hurricanes","Chicago-Blackhawks","Colorado-Avalanche",
"Columbus-Blue-Jackets","Dallas-Stars","Detroit-Red-Wings","Edmonton-Oilers",
"Florida-Panthers","Los-Angeles-Kings","Minnesota-Wild","Montreal-Canadiens",
"Nashville-Predators","New-Jersey-Devils","New-York-Islanders","New-York-Rangers",
"Ottawa-Senators","Philadelphia-Flyers","Pittsburgh-Penguins","San-Jose-Sharks",
"St-Louis-Blues","Tampa-Bay-Lightning","Toronto-Maple-Leafs","Vancouver-Canucks",
"Vegas-Golden-Knights","Washington-Capitals","Winnipeg-Jets"
) ->
teams
for (team in teams){
tryCatch({
#null df
roster <- NULL
# Get Website
url <- read_html(paste0('https://www.dailyfaceoff.com/teams/', team,'/line-combinations/stats'))
# Players in lineup
player_data <- url %>%
html_nodes('.player-name') %>%
html_text()
# remove numbers and # from name
player_data <- sub("\\s+#.*", "", player_data)
# Rename Team
team_rename <- gsub("-", "_", team, fixed=TRUE)
teamRename <- gsub("-", " ", team, fixed=TRUE)
# Print Team
print(team_rename)
# create roster dataframe
roster <- data.frame(Player = player_data)
# Bind rosters to roster_df
setwd('//LVS_DB/Users/Mike/Desktop/DB_LVS_SHARE/dailyfaceoffroster')
write_delim(roster, paste0(teamRename,'.csv'), delim = ',')
}, error = function(e) {message(paste0(e, "\n"))})
}