1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rでmacのcsvファイルを読み込んで走らせると ”xxxは不正なマルチバイト文字です ”エラーが発生する場合の対処法

Last updated at Posted at 2020-03-02

はじめに

Rでcsvを読み込むスクリプトを走らせていたのですが、以前問題なく動いていたスクリプトが、最近作成したcsvファイルを読み込んだ時に突然動かなくなり、そのトラブルシュートで2時間以上かかってしまいました。

現象

現象は最近Office macをアップデートしてしまい、csvでファイルをCSV UTF-8形式で保存されても、文字化けが発生するようになりました。

2020-03-02_18-48-45.jpg

エラーメッセージが”xxxは不正なマルチバイト文字です ”というエラーなのですが、このエラーはコンソールに表示されるわけではなく、warning() を実行しないと表示されませんでした。

ちなみに、エラー発生時にRのコンソールには

エラー: Stopping
 追加情報:  11 件の警告がありました (警告を見るには warnings() を使って下さい) 

と表示されていました。
こちらの警告メッセージに従ってコンソールで

warnings()

を実行すれば、xxxは不正なマルチバイト文字です のエラーメッセージを確認することができたのですが、それを確認せずにスクリプトのデータフレームやcsvファイルを色々といじったりしていました。

回避法

この問題は、以前のWordcloudの記事でも紹介したようにcsvの読み込み時に以下の通り fileEncoding="CP932" をcsv読み込みのオプションに追加することで回避することができました。

, fileEncoding="CP932"

どのバージョンのmac用のExcelからこの仕様になったのか分かりませんが、2020年1月に同じ環境で作成したcsvファイルではこのようなことはなかったので、最近のアップデート(バージョン16.34 (20020900))で新たに発生した問題かなと思っています。

2020-03-02_19-02-59.jpg

教訓

トラブルシュートのほとんどの時間はエラーメッセージを確認せずにあぁでもない、こうでもないとcsvファイルやスクリプトをいじっていました。
エラーメッセージを確認してからは、以前のWordcloudでの経験があったので、10分もせずに対処法を見つけることができました。

まさかExcelのバージョンで発生なんてしないだろうという思い込みがあったのも原因の一つかと思います。

急がば回れの言葉通り、一手間かかりますがエラーメッセージや警告メッセージををちゃんと確認することが大事だな、と改めて痛感しました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?