Разбить строку на фрейм данных в R - PullRequest
0 голосов
/ 03 июня 2019

У меня есть строка данных str1 в следующем формате;

str1 <- "([0.1,0.2,0.3,......],[timestamp('2019-03-09'),timestamp('2019-03-09'),timestamp('2019-03-09'), .....],[0.1,0.2,0.3,......],[true,false,true,false,.....])"

Мне нужно преобразовать эту строку в фрейм данных df, где значения каждой переменной - это подстрока из [ ]. Пример как показано ниже,

df

 A              B                 C         D
0.1  timestamp('2019-03-09')     0.1       True
0.2  timestamp('2019-03-09')     0.2       False
0.3  timestamp('2019-03-09')     0.3       True
0.4  timestamp('2019-03-09')     0.4       False

1 Ответ

3 голосов
/ 03 июня 2019

Кажется, это код Python ... может быть, лучше всего инициализировать в Python и экспортировать как csv или аналогичный?

Где-нибудь здесь есть что-то немного необработанное с использованием R:

library(magrittr)
strsplit(str1, "],[", fixed = TRUE)[[1]] %>% 
  gsub("^\\(\\[|\\]\\)$", "", .) %>% 
  lapply(strsplit, ",") %>% 
  as.data.frame() %>% 
  setNames(LETTERS[1:4])

#     A                        B   C     D
# 1 0.1  timestamp('2019-03-09') 0.1  true
# 2 0.2  timestamp('2019-03-09') 0.2 false
# 3 0.3  timestamp('2019-03-09') 0.3  true
# 4 0.4  timestamp('2019-03-09') 0.4 false

Данные

str1 <- "([0.1,0.2,0.3,0.4],[timestamp('2019-03-09'),timestamp('2019-03-09'),timestamp('2019-03-09'), timestamp('2019-03-09')],[0.1,0.2,0.3,0.4],[true,false,true,false])"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...