0

我遇到了readLines()-function 的一些奇怪行为,它基本上包含在所有 R 运行中。正如我之前做过数百次或数千次一样,我尝试读取这样的文件行:

workingDir <- ""

tempFile <- file(paste(workingDir, "/stationaer_mittel004_head3D.csv", sep="", collapse=""), open="r")
s_mittel001_head <- readLines(tempFile)
close(tempFile)
s_mittel001_head

这不会正确读取文件内容并导致如下所示:

[1] "\"" ""   ""   ""   ""

如果我对文件名做错了什么,我会进行双重、三重和四重检查,但在文件或网络浏览器中访问文件时它工作得很好。随后,我直接将文件内容复制到另一个 csv 并尝试打开这个。它确实奏效了。我在笔记本电脑的管理员帐户上,两个文件都没有显示特殊权限限制。创建具有相同文件名的新文件也可以解决此问题。

**这就是为什么我想知道是否有人知道可能导致这种行为的原因。

谢谢!**

4

2 回答 2

0

正如@CarlWitthoft 指出的那样,readLines()读取具有某些换行符类型的ASCII文件时存在问题(不知道究竟是哪个: vs vs )。这会产生一个实际上是空字符串的列表。此外,该功能似乎无法看到文件的结尾。

最终解决方案:使用具有“更合适”换行标准的程序将文件内容复制并粘贴到新文件中。

于 2013-10-09T16:22:02.327 回答
0

对我来说,这将我引向这篇文章https://github.com/tidyverse/readr/issues/857,mcleanle的评论我走上了正确的道路。
根本原因实际上是编码语言。我的文件被编码为UCS-2 LE BOM,更改为UTF-8为我解决了这个问题。

于 2019-04-18T12:47:53.483 回答