Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在r中使用fread读取文件时解释新行\n字符_R_Fread - Fatal编程技术网

在r中使用fread读取文件时解释新行\n字符

在r中使用fread读取文件时解释新行\n字符,r,fread,R,Fread,我无法在data.table包中获取fread,无法按预期处理新行(\n)。它们显示为“\n”而不是新行(headshow“\\n”而不是“\n”)。根据下面这篇文章,我了解到,fread应该能够处理这种情况: 我尝试引用(“字符串”)值列,结果相同。是否有我遗漏的简单解决方案或参数?他们应该设法逃脱吗?下面是一个说明问题的示例,以及我的实现: [编辑:]一些说明,因此您无需阅读代码即可遵循。strings.txt的内容显示在下面的代码注释中。该文件是一个以制表符分隔的文本文件,有四列、三行和

我无法在
data.table
包中获取
fread
,无法按预期处理新行(\n)。它们显示为“\n”而不是新行(
head
show“\\n”而不是“\n”)。根据下面这篇文章,我了解到,
fread
应该能够处理这种情况:

我尝试引用(“字符串”)值列,结果相同。是否有我遗漏的简单解决方案或参数?他们应该设法逃脱吗?下面是一个说明问题的示例,以及我的实现:

[编辑:]一些说明,因此您无需阅读代码即可遵循。strings.txt的内容显示在下面的代码注释中。该文件是一个以制表符分隔的文本文件,有四列、三行和一个标题行。文件中的第一个条目是
strMsg1
,与
strasinted
相同。但是,
fread
在读取文件时会向\n添加一个额外的反斜杠,这会使新行字符变成文字\n。如何避免这种情况?我只需要能够将新行编码到字符串中。希望这是可以理解的

[Edit2:]结果如图所示。

库(data.table)
图书馆(gWidgets2)
#strings.txt
#范围顺序键值
#test\u gui 1 strMsg1文本,带有新行字符:\n1)第一个点和\n2)第二个点应该在单独的行上\n\n然后可能是下面的一些文本,用空行分隔。
#test_gui 2 strMsg2某些文本不包含新行字符。
#test_gui 3 strMsg3展开窗口以查看文本和按钮小部件

误读你误解了
fread
正在做的事情。您的输入文件包含一个反斜杠,后跟
n
,这就是
fread
中的字符串所包含的内容。但是,当打印包含反斜杠的字符串时,它会加倍。(如果不需要,请使用
cat()
打印它。)
strasinted
变量不包含反斜杠,它包含一个换行符,打印时显示为
\n

如果要将输入文件中的
\n
转换为换行符,请使用
gsub
或其他替换函数。比如说,

dt[,3] <- gsub("\\n", "\n", dt[,3], fixed = TRUE)

dt[,3]您误解了
fread
正在做的事情。您的输入文件包含一个反斜杠,后跟
n
,这就是
fread
中的字符串所包含的内容。但是,当打印包含反斜杠的字符串时,它会加倍。(如果不需要,请使用
cat()
打印它。)
strasinted
变量不包含反斜杠,它包含一个换行符,打印时显示为
\n

如果要将输入文件中的
\n
转换为换行符,请使用
gsub
或其他替换函数。比如说,

dt[,3] <- gsub("\\n", "\n", dt[,3], fixed = TRUE)

dt[,3]我们不知道您的
strings.txt
文件中有什么。它在下面代码示例#strings.txt中的注释中。我们不知道您的
strings.txt
文件中有什么。它在下面代码示例#strings.txt中的注释中。谢谢您的解释。我认为它不是这样工作的。更新了修复示例:
dt[,value:=gsub(“\\n”,“\n”,value,fixed=TRUE)]
感谢您的解释。我认为它不是这样工作的。更新了带有修复的示例:
dt[,value:=gsub(“\\n”,“\n”,value,fixed=TRUE)]
dt[,3] <- gsub("\\n", "\n", dt[,3], fixed = TRUE)