In read.table(): incomplete final line found by readTableHeader

泄露秘密 提交于 2019-12-09 04:42:42

问题


I have a CSV when I try to read.csv() that file, I get the warning warning message:

In read.table(file = file, header = header, sep = sep, quote = quote,  :
  incomplete final line found by readTableHeader on ...

And I cannot isolate the problem, despite scouring StackOverflow and R-help for solutions.

This is the Dropbox link for the data: https://www.dropbox.com/s/h0fp0hmnjaca9ff/PING%20CONCOURS%20DONNES.csv


回答1:


As explained by Hendrik Pon,The message indicates that the last line of the file doesn't end with an End Of Line (EOL) character (linefeed (\n) or carriage return+linefeed (\r\n)).

The remedy is simple:

  • Open the file
  • Navigate to the very last line of the file
  • Place the cursor the end of that line
  • Press return/enter
  • Save the file

so here is your file without warning

df=read.table("C:\\Users\\Administrator\\Desktop\\tp.csv",header=F,sep=";")
 df
    V1               V2               V3               V4               V5               V6               V7               V8               V9              V10
1 Date 20/12/2013 09:04 20/12/2013 09:08 20/12/2013 09:12 20/12/2013 09:16 20/12/2013 09:20 20/12/2013 09:24 20/12/2013 09:28 20/12/2013 09:32 20/12/2013 09:36
2    1           1,3631           1,3632           1,3634           1,3633            1,363           1,3632           1,3632           1,3632           1,3629
3    2          0,83407          0,83408          0,83415          0,83416          0,83404          0,83386          0,83407          0,83438          0,83472
4    3           142,35           142,38           142,41            142,4           142,41           142,42           142,39           142,42            142,4
5    4           1,2263          1,22635          1,22628          1,22618          1,22614          1,22609          1,22624          1,22643           1,2265

But i think you should not read in this way because you have to again reshape the dataframe,thanks.




回答2:


I faced the same problem while creating a data matrix in notepad. So i came to the last row of data matrix and pressed enter. Now i have a "n" line data matrix and a new blank line with cursor at the starting of "n+1" line. Problem solved.




回答3:


I had the same problem with .xls files. My solution is to save the file as a tab delimited .txt. Then you can also manually change the .txt extension to .xls, then you can open the dataframe with read.delim.

This is very rude way to overcome the issue anyway.




回答4:


This is not a CSV file, each line is a column, you can parse it manually, e.g.:

file <- '~/Downloads/PING CONCOURS DONNES.csv'
lines <- readLines(file)
columns <- strsplit(lines, ';')
headers <- sapply(columns, '[[', 1)
data <- lapply(columns, '[', -1)
df <- do.call(cbind, data)
colnames(df) <- headers
print(head(df))

Note that you can ignore the warning, due that the last end-of-line is missing.




回答5:


Or you can simply open that excel file and save it as .csv file and voila that warning is gone.



来源:https://stackoverflow.com/questions/22171858/in-read-table-incomplete-final-line-found-by-readtableheader

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!