web-dev-qa-db-ja.com

警告メッセージ:行に埋め込みヌルが含まれているようです

Csvファイルのリストを読み込もうとしています。これらのcsvファイルには「;」がありますセパレータとして。 csvファイルの読み取りに失敗した後、csvファイルの1つの内容をいくつかの部分に分割し、各部分の値を読み取って問題の原因を確認しようとしました。

このメソッドは私のために働いた、と私は私のデータのために動作する作業コードを見つけました:

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

しかし、別の問題が発生しました。元のデータをコピーしてcsvファイルに貼り付けてコードを実行すると、正常に機能します。ただし、元のcsvファイルで同じコードを実行しようとすると、「埋め込みnull」警告が表示されます。

外側では、元のデータとコピーされたデータはまったく同じに見え、それらはすべて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    ;
;

任意の助けをいただければ幸いです。ありがとうございました。

19
user3634755

@Gによるコメントで投稿されたソリューション。グロタンディーク、fileEncoding=引数により、正しいエンコーディングを指定します。これは、OPに従ってUTF16LEまたはUCS-2LEであることが判明しました。

コメントに失われないように、これを答えとして書いてください。

20
Benjamin

私は最近、次のようなエラーメッセージを受け取った同様の問題に直面しました:

1:read.table(file = file、header = header、sep = sep、quote = quote 、:行3にはヌルが埋め込まれているようです。

fileEncodingパラメーターをリセットしようとしましたが、警告を削除できませんでした。幸いなことに、この link で言及されているSkipNul引数に遭遇し、[〜#〜] t [〜# 〜]私のために働いた。

5

FileEncoding引数が役立つことを他のユーザーに同意します。関数とファイルの種類が正しいことも確認してください。誤ってread.csv()を使用してExcelファイルをロードしようとしたときに、このエラーに遭遇しました(read.xlsx()に切り替えると、エラーはすぐに解決しました)。

0
Sarah Grogan