R RegEx gsub () Эквивалент «Операции со строками> Удалить пустые строки (содержащие пустые символы)» в файле CSV - PullRequest
0 голосов
/ 06 марта 2020

У меня есть CSV с несколькими столбцами: Tweet, дата и т. Д. c. Пробелы в некоторых твитах приводят к появлению пустых строк и нежелательных усеченных строк.

Что работает: 1. Использование функции Notepad ++ «Операции со строками> Удаление пустых строк (содержащих пустые символы)» 2. Поиск и замена: \r ни с чем.

Однако мне нужно сделать это для большого количества файлов, и Мне не удается найти регулярное выражение с помощью gsub () в R, которое будет выполнять функцию Notepadd ++ делает.

Обратите внимание, что замена ^[ \t]*$\r?\n ничем, а затем \r ничем работает в Notepad ++, но не в R, как предлагается здесь , но это не так работать с g (sub) в R.

Я пробовал следующий код:

tx <- readLines("tweets.csv") subbed <-gsub(pattern = "^[ \\t]*$\\r?\\n", replace = "", x = tx) subbed <-gsub(pattern = "\r", replace = "", x = subbed) writeLines(subbed, "output.csv")

Это ввод:

Problems caused by spacing in Tweets

Это желаемый результат:

Desired output

1 Ответ

0 голосов
/ 06 марта 2020

Вы можете использовать

library(readtext)
tx <- readtext("weets.csv")
subbed <- gsub("(?m)^\\h*\\R?", "", tx$text, perl=TRUE)
subbed <- gsub("\r", "", subbed, fixed=TRUE)
writeLines(trimws(subbed), "output.csv")

Библиотека readtext считывает файл в одну переменную и, таким образом, все символы разрыва строки сохраняются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...