ВК
Size: a a a
ВК
ВК
👁
#Если структура не меняется и есть фигурные скобки:
#разделение по customerAction
a <- gregexpr("<customerAction>(.*?)</customerAction>",text)
b <- unlist(regmatches(text,a))
#разделение по фигурным скобкам
c <- gregexpr("\\{(.*?)\\}",b)
d <- unlist(regmatches(b,c))
#удаление скобок
d <- gsub("\\{|\\}","",d)
#таблица
dim(d) <- c(15,length(d)/15)
d <- t(d)
d <- as.data.table(d)
#Если фигурных скобок нету, то, зная структуру, можно выделить все идентификаторы по порядку и далее формировать из них таблицу
a <- gregexpr("<customerAction>(.*?)</customerAction>",text)
b <- unlist(regmatches(text,a))
c1 <- gregexpr("<mindboxId>(.*?)</mindboxId>",b)
d1 <- unlist(regmatches(b,c1))
d1 <- gsub("<mindboxId>|</mindboxId>","",d1)
c2 <- gregexpr("<transactionId>(.*?)</transactionId>",b)
d2 <- unlist(regmatches(b,c2))
d2 <- gsub("<transactionId>|</transactionId>","",d2)
#и так далее
dim(d1) <- c(2,length(d1)/2)
d1 <- t(d1)
d1 <- as.data.table(d1)
dim(d2) <- c(1,length(d2)/1)
d2 <- t(d2)
d2 <- as.data.table(d2)
d <- cbind(d1,d2)
ВК
#Если структура не меняется и есть фигурные скобки:
#разделение по customerAction
a <- gregexpr("<customerAction>(.*?)</customerAction>",text)
b <- unlist(regmatches(text,a))
#разделение по фигурным скобкам
c <- gregexpr("\\{(.*?)\\}",b)
d <- unlist(regmatches(b,c))
#удаление скобок
d <- gsub("\\{|\\}","",d)
#таблица
dim(d) <- c(15,length(d)/15)
d <- t(d)
d <- as.data.table(d)
#Если фигурных скобок нету, то, зная структуру, можно выделить все идентификаторы по порядку и далее формировать из них таблицу
a <- gregexpr("<customerAction>(.*?)</customerAction>",text)
b <- unlist(regmatches(text,a))
c1 <- gregexpr("<mindboxId>(.*?)</mindboxId>",b)
d1 <- unlist(regmatches(b,c1))
d1 <- gsub("<mindboxId>|</mindboxId>","",d1)
c2 <- gregexpr("<transactionId>(.*?)</transactionId>",b)
d2 <- unlist(regmatches(b,c2))
d2 <- gsub("<transactionId>|</transactionId>","",d2)
#и так далее
dim(d1) <- c(2,length(d1)/2)
d1 <- t(d1)
d1 <- as.data.table(d1)
dim(d2) <- c(1,length(d2)/1)
d2 <- t(d2)
d2 <- as.data.table(d2)
d <- cbind(d1,d2)
👁
PU
PU
> library(xml2)
> tmp <- read_xml('~/Загрузки/template.xml')
> sec <- xml_children(xml_children(tmp))
> cast_actions <- xml_find_all(sec, '//customerActions')
> el1 <- xml_children(cast_actions)[[1]]
>
> result <- data.frame(
+ ids = xml_find_first(el1, '//customerAction/ids/mindboxId') %>% xml_text(),
+ transactionId = xml_find_first(el1, '//customerAction/ids/transactionId') %>% xml_text(),
+ systemName = xml_find_first(el1, '//customerAction/actionTemplate/systemName') %>% xml_text())
>
> for (i in seq_len(length(result))) {
+ result[, i] <- gsub('\\{|\\}', '', result[, i])
+ }
>
> result
ids transactionId systemName
1 Идентификатор действия в Майндбокс Внешний идентификатор действия Системное имя шаблона действия в Майндбоксе
ВК
> library(xml2)
> tmp <- read_xml('~/Загрузки/template.xml')
> sec <- xml_children(xml_children(tmp))
> cast_actions <- xml_find_all(sec, '//customerActions')
> el1 <- xml_children(cast_actions)[[1]]
>
> result <- data.frame(
+ ids = xml_find_first(el1, '//customerAction/ids/mindboxId') %>% xml_text(),
+ transactionId = xml_find_first(el1, '//customerAction/ids/transactionId') %>% xml_text(),
+ systemName = xml_find_first(el1, '//customerAction/actionTemplate/systemName') %>% xml_text())
>
> for (i in seq_len(length(result))) {
+ result[, i] <- gsub('\\{|\\}', '', result[, i])
+ }
>
> result
ids transactionId systemName
1 Идентификатор действия в Майндбокс Внешний идентификатор действия Системное имя шаблона действия в Майндбоксе
PU
👁
library(readr)
text <- read_file("template.xml")
PU
PU
ГД
PU
> library(haven)
> path <- './data/spss_example.sav'
> spss_data <- read_sav(path)
> spss_data
Ошибка в `levels<-`(`*tmp*`, value = as.character(levels)) :
factor level [4] is duplicated
PU
> spss_data_df <- as.data.frame(spss_data, stringAsFactor = FALSE)
> spss_data_df
var1 var2 var3
1 3 4 1
2 4 5 NA
3 3 5 99
4 3 5 1
5 4 4 4
6 3 5 999
PU
ГД
ГД
> library(haven)
> path <- './data/spss_example.sav'
> spss_data <- read_sav(path)
> spss_data
Ошибка в `levels<-`(`*tmp*`, value = as.character(levels)) :
factor level [4] is duplicated
ГД
PU