I have written loop for 1 email id in 1 excel cell but I am unable to write loop when multiple email ids are store in 1 excel cell
Here's a sample
| code | email.ids | cc |
| 1 |abc@abc.in;aab@abc.in|as@abc.in;asdb@abc.com|
| 2 |as@abc.in;asdb@abc.in|as@abc.in;asdb@abc.com|
Code Column will be the value for "forloop".
you can use stringr::str_split(df$email.ids[row], ";") %>% flatten_chr()
to extract and split the variable by a given pattern (here: ";"), assuming some consistency.
The following code will allow to work with each email in a nested loop:
library(tidyverse)
for (row in 1:nrow(df)) {
code_i <- df$code[row]
message("code:", code_i)
vec_email_id <- stringr::str_split(df$email.ids[row], ";") %>% flatten_chr()
vec_cc <- stringr::str_split(df$email.ids[row], ";") %>% flatten_chr()
vec_all_mails <- c(vec_email_id, vec_cc)
for (email in vec_all_mails) {
message("email: ", email)
# do something with email
}
}
#> code:1
#> email: abc@abc.in
#> email: aab@abc.in
#> email: abc@abc.in
#> email: aab@abc.in
#> code:2
#> email: as@abc.in
#> email: asdb@abc.in
#> email: as@abc.in
#> email: asdb@abc.in
df <- read.delim(text =
" code | email.ids | cc
1 |abc@abc.in;aab@abc.in|as@abc.in;asdb@abc.com
2 |as@abc.in;asdb@abc.in|as@abc.in;asdb@abc.com
", header=TRUE, sep = "|")
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.