在read.table()中:readTableHeader找到不完整的最后一行

use*_*370 18 csv r read.table

当我尝试read.csv()该文件时,我有一个CSV ,我收到警告警告消息:

In read.table(file = file, header = header, sep = sep, quote = quote,  :
  incomplete final line found by readTableHeader on ...
Run Code Online (Sandbox Code Playgroud)

尽管StackOverflow和R-help用于解决方案,但我无法隔离问题.

这是数据的Dropbox链接:https://www.dropbox.com/s/h0fp0hmnjaca9ff/PING%20CONCOURS%20DONNES.csv

Aas*_*shu 22

正如Hendrik Pon所解释的那样,该消息表明文件的最后一行没有以行尾(EOL)字符(换行符(\n)或回车符+换行符(\ r \n))结束.

补救措施很简单:

  • 打开文件
  • 导航到文件的最后一行
  • 将光标放在该行的末尾
  • 按返回/输入
  • 保存文件

所以这是你的文件没有警告

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
Run Code Online (Sandbox Code Playgroud)

但我认为你不应该以这种方式阅读,因为你必须再次重塑数据帧,谢谢.


Kar*_*ner 2

这不是一个 CSV 文件,每一行都是一列,您可以手动解析它,例如:

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))
Run Code Online (Sandbox Code Playgroud)

请注意,您可以忽略该警告,因为缺少最后一个行尾。