我遇到了readLines()
- 函数的一些奇怪行为,它基本上包含在所有R-run中。正如我之前做过的那样,或者成千上万次,我试着读出这样一个文件的行:
workingDir <- ""
tempFile <- file(paste(workingDir, "/stationaer_mittel004_head3D.csv", sep="", collapse=""), open="r")
s_mittel001_head <- readLines(tempFile)
close(tempFile)
s_mittel001_head
这不能正确读取文件内容,结果如下:
[1] "\"" "" "" "" ""
如果我对文件名做错了,我会进行双重和三重检查,但是在文件或webbrowser中访问文件时它可以正常工作。随后,我明确地将文件内容复制到另一个csv并试图打开这个。它确实有效。我在我的笔记本电脑的administrive帐户上,这两个文件都没有显示特殊的权限限制。创建具有相同文件名的新文件也可以解决问题。
**这就是为什么我想知道是否有人知道可能导致这种行为的原因。
谢谢!**
答案 0 :(得分:0)
正如@CarlWitthoft所指出的那样,readLines()
在读取具有某些换行符类型的ASCII文件时有问题(不知道究竟是哪种:vs vs)。这导致一个几乎为空的字符串列表。此外,该功能似乎无法看到文件的结尾。
最终解决方案:使用“更合适”的linebreak-standard程序将文件内容复制并粘贴到新文件中。
答案 1 :(得分:0)
对我来说,这使我进入了这篇帖子https://github.com/tidyverse/readr/issues/857,其中 mcleanle 的评论使我走了正确的路。
根本原因实际上是编码语言。我的文件编码为UCS-2 LE BOM
,更改为UTF-8
对我来说已经解决了。