【发布时间】:2020-04-28 20:27:38
【问题描述】:
我正在使用 readLines() 在 R 上将 .csv 文件作为字符串加载。其中一列包含带有不需要的换行符的推文。
我需要删除换行符。在 Notepad++ 中,搜索:\r\n 和替换为%%% 有效,整个文件变成一行。
但是,在 R 中执行此操作时,str_replace_all() 和 str_remove_all() 都不会检测到 \\r\\n,并且输出文件与输入文件相同。这是我的代码。我尝试了以下正则表达式:"\n"; "\r\n"; "\\n"; "\\r\\n";"\\r" 无济于事。
tx <- readLines("line_breaks.csv", warn = FALSE)
tx <- str_replace_all(tx, "\\r\\n", "")
write_lines(tx, "C:/Users/u0126720/Documents/csv_test/one_line.csv")
我也试过了:
tx <- str_remove_all(tx, "\\r\\n")
输入文件如下所示:
date,tweet
Wed Jun 19 2019, Como pretendia ser un angel , estando rodeada de demonios? ✨
Rp.????
hola, estas en la olla?"
所需的输出(以及我使用 Notepad++ 得到的结果):
Wed Jun 19 2019, Como pretendia ser un angel , estando rodeada de demonios? ✨Rp.????hola, estas en la olla?"
【问题讨论】:
-
您的文件是否只有一条记录?如果你去掉所有的新线,你最终只会有一条大线。
readLines的工作方式应该是一个没有任何换行符的字符值向量,这些值已被拆分为单独的值。也许paste(readLines("line_breaks.csv"), collapse="")会有所帮助。否则,您如何区分“真正的”换行符和您想要摆脱的换行符? -
确实,问题出在我阅读文件的方式上。不,我有几千行这样的。谢谢!顺便说一句,我想支持您的解决方案,但它没有作为答案发布。