Kat*_*ate 106 r line-endings read.csv
我正在尝试将.csv文件读入R并使用此公式:
pheasant<-read.table(file.choose(),header=TRUE,sep=",")
我收到此警告消息:
"incomplete final line found by readTableHeader on 'C:\Documents and Settings..."
有一些我认为可能引起这种警告的事情,但不幸的是我不太了解R自己诊断问题,所以我想我会在这里发帖,希望别人可以为我诊断它!
任何帮助或建议将非常感谢!
小智 124
该消息表明文件的最后一行不以行尾(EOL)字符(换行符(\n)或回车符+换行符(\r\n))结束.此消息的初衷是警告您文件可能不完整; 大多数数据文件都有一个EOL字符作为文件中的最后一个字符.
补救措施很简单:
Vin*_*Jia 19
问题很容易解决; 这是因为最后一行必须是空的.
如果您的内容是,请说
line 1,
line2
改为
line 1,
line2
(empty line here)
今天我遇到了这种问题,当我尝试使用R来读取JSON文件时,使用下面的命令:
json_data<-fromJSON(paste(readLines("json01.json"), collapse="")) 
; 我通过上面的方法解决它.
Jor*_*eys 14
你真的确定你选择了.csv文件而不是.xls文件吗?如果我尝试读取.xls文件,我只能重现错误.如果我尝试读取.csv文件或任何其他文本文件,则无法重新创建您获得的错误.
> Data <- read.table("test.csv",header=T,sep=",")
> Data <- read.table("test.xlsx",header=T,sep=",")
Warning message:
In read.table("test.xlsx", header = T, sep = ",") :
  incomplete final line found by readTableHeader on 'test.xlsx'
readTableHead是给出错误的c函数.它尝试读取前n行(标准前5行)来确定数据的类型.使用其他数据读入scan().所以问题是文件的格式.
找出的一种方法是将工作目录设置为文件所在的目录.这样你就可以看到你读到的文件的扩展名.我知道在Windows上它没有显示标准,所以你可能会认为它是csv,而不是.
接下来应该做的是在记事本或写字板(或其他编辑器)中打开文件,并检查格式是否与我的文件等效test.csv:
Test1,Test2,Test3
1,1,1
2,2,2
3,3,3
4,4,
5,5,
,6,
该文件将为您提供以下数据帧:
> read.table(testfile,header=T,sep=",")
  Test1 Test2 Test3
1     1     1     1
2     2     2     2
3     3     3     3
4     4     4    NA
5     5     5    NA
6    NA     6    NA
excel保存的csv格式用逗号分隔所有单元格.空单元格没有值.read.table()可以很容易地处理这个,并识别空单元格.
使用readLines()(with warn = FALSE)首先将文件读入字符向量.
之后使用该text =选项将矢量读入数据框中read.table()
    pheasant <- read.table( 
        text = readLines(file.choose(), warn = FALSE), 
        header = TRUE,  
        sep = "," 
    )
小智 5
我意识到已经提供了几个答案,但还没有真正的解决办法。
如上所述,原因是 CSV 文件末尾缺少“行尾”。
虽然真正的修复应该来自微软,但四处走动是用文本编辑器打开 CSV 文件并在文件末尾添加一行(也就是按回车键)。我使用 ATOM 软件作为文本/代码编辑器,但几乎所有基本的文本编辑器都可以。
同时,请向微软报告该错误。
问题:在我看来,这是 Office 2016 的问题。有人在PC上遇到过这个问题吗?