警告消息:行似乎包含嵌入的空值

时间:2014-07-14 10:52:00

标签: r warnings

我正在尝试阅读csv文件列表。这些csv文件有&#34 ;;"作为它的分隔符。 在读取csv文件失败后,我尝试将其中一个csv文件中的内容剪切成几个部分,并读入每个部分的值以查看问题的原因。

这个方法对我有用,我找到了一个适用于我的数据的工作代码:

y <- data.table(read.table(filenames[i], header = FALSE, sep = ";",
                comment.char = "", fill = TRUE, check.names = FALSE,
                blank.lines.skip = TRUE))

但我遇到了另一个问题。当我将原始数据复制并粘贴到csv文件中并运行代码时,它工作正常。但是,当我尝试在原始csv文件上运行相同的代码时,它会给我“嵌入的空值”#39;警告。

在外部,原始数据和复制的数据看起来完全相同,并且它们都以csv格式保存。因此,我很难找到导致警告的原因以及我原来的csv文件和复制的csv文件之间的区别。

数据类似于以下内容:

Measurement Reports export file;
;
Comment;Time ;E_MW;E_PF;INV11_ACKW;INV12_ACKW;INV21_ACKW;INV22_ACKW;INV31_ACKW;INV32_ACKW;INV41_ACKW;INV42_ACKW;INV51_ACKW;INV52_ACKW;INV61_ACKW;INV62_ACKW;M1_ATEMP;M1_HUMID;M1_PYRA1S;M1_PYRA2S;M1_PYRA3S;M1_WDIREC;M1_WSPEED;
;
;00:00;-0.02  ;-0.36  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;22.32  ;82.32  ;0.00  ;0.00  ;0.00  ;234.83  ;0.00  ;
;00:01;-0.02  ;-0.36  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;22.26  ;82.57  ;0.00  ;0.00  ;0.00  ;214.93  ;0.00  ;
;
;Sum;-1.41    ;-22.10    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;1330.89    ;5098.24    ;0.00    ;0.00    ;0.00    ;11246.06    ;28.48    ;
;Mean;-0.02    ;-0.37    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;0.00    ;22.18    ;84.97    ;0.00    ;0.00    ;0.00    ;187.43    ;0.47    ;
;

任何帮助将不胜感激。谢谢。

4 个答案:

答案 0 :(得分:20)

解决方案,由@G发表评论。 Grothendieck,是使用fileEncoding=参数来指定正确的编码,根据OP,结果是UTF16LE或UCS-2LE。

将此作为答案写下来,这样就不会丢失评论。

答案 1 :(得分:4)

我最近遇到类似问题,收到的错误信息如下:

  

1:在read.table中(file = file,header = header,sep = sep,quote = quote,:第3行似乎包含嵌入的空值。

我尝试重置 fileEncoding 参数但未能删除警告。幸运的是,我遇到了link中提到的 SkipNul 参数,并将其设置为 T 为我工作。

答案 2 :(得分:0)

我同意fileEncoding参数可以提供帮助的其他用户。还要确保检查功能和文件类型是否正确。错误地尝试使用read.csv()来加载Excel文件时遇到了这个错误(当我切换到read.xlsx()时,该错误很快得到解决)。

答案 3 :(得分:-1)

您只需要正确创建csv文件,不要将“.Numbers”文件重命名为“.csv”。打开.Numbers文件,将其导出到csv,然后在R环境中键入以下代码:

test&lt; - read.csv(“MyFile.csv”)