我试图在csv文件列表中读取.这些csv文件有";" 作为它的分隔符.在读取csv文件失败后,我试图将其中一个csv文件中的内容切割成几个部分,并读入每个部分的值以查看问题的原因.
这个方法对我有用,我找到了一个适用于我的数据的工作代码:
y <- data.table(read.table(filenames[i], header = FALSE, sep = ";",
comment.char = "", fill = TRUE, check.names = FALSE,
blank.lines.skip = TRUE))
Run Code Online (Sandbox Code Playgroud)
但我遇到了另一个问题.当我将原始数据复制并粘贴到csv文件中并运行代码时,它工作正常.但是,当我尝试在原始csv文件上运行相同的代码时,它会给我"嵌入空值"警告.
在外部,原始数据和复制的数据看起来完全相同,并且它们都以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 ;
;
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.谢谢.
Ben*_*min 20
解决方案,由@G发表评论.Grothendieck,是使用fileEncoding=
参数来指定正确的编码,根据OP,结果证明是UTF16LE或UCS-2LE.
把它写成答案,这样就不会丢失评论.