Как извлечь определенные строки из столбца в CSV-файл? - PullRequest
0 голосов
/ 14 апреля 2020

В CSV-файле, который мне дали, есть столбец, который немного запутан. Я хочу иметь возможность собрать все департаменты / институты (например, Департамент Y1, Колледж X2 и Колледж X3), чтобы я мог посчитать, сколько уникальных учреждений есть в моем файле.

Пример данных из файла CSV показан ниже:

Name           Affiliation
Anna           Faculty of X1, Department of Y1, Z1 University, City A, Country 1
Isabela        Institute of W1, College of X2, Department of Y2, University of Z2, Country 1
Wally          Institute of W2, College of X3, Department of Y2, University of Z2, Country 1

, и это продолжается для тысяч строк.

Моя цель - создать что-то вроде информационного кадра, содержащего столбец с указанными уникальными институтами. Есть ли способ сделать это с помощью Rstudio (желательно) или python?

1 Ответ

0 голосов
/ 14 апреля 2020

Вот вариант использования пакета stringr в R.

library(stringr)
TargetPrefixes <- c("Faculty", "Department", "Univrsity", "College", "Institute")
split <- str_split(data$Affiliation,",")
split <- unlist(split)
trim <- str_trim(split,side = "both") 
matches <- sapply(trim,function(x){Reduce(`|`,(str_detect(x,TargetPrefixes)))})
result <- unique(trim[matches])
result
[1] "Faculty of X1"    "Department of Y1" "Institute of W1"  "College of X2"    "Department of Y2" "Institute of W2"  "College of X3" 

Данные

data <- structure(list(Name = c("Anna", "Isabela", "Wally"), Affiliation = c("Faculty of X1, Department of Y1, Z1 University, City A, Country 1", 
"Institute of W1, College of X2, Department of Y2, University of Z2, Country 1", 
"Institute of W2, College of X3, Department of Y2, University of Z2, Country 1"
)), class = "data.frame", row.names = c(NA, -3L))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...