MacのOffice系のアプリケーションを開発に使うときに生じた問題:改行を上手く処理してくれない 

投稿者: | 2019年7月26日

Word Excelを開発ツールの一部として使うときの注意事項

iOSの開発を行っている人はMacで書類仕事全般も片付ける人がほとんどだろう。

だからWord, Excelが入っているケースも多いと思う。

Excelでちょっとしたテーブルを作ってCSVを書き出し、それを読み込ませて色んなテストをすることがある。

そういったときに奇妙な動作に出くわすことがある。今回その一つを解決したのでメモしておく。

「見た目では改行しているのにSEDなどのツール類では改行とみなしてくれていない」というもの。行末で何かの処理をする場合に致命的だ。

Microsoft製品の生成するCSVの改行コード

これが曲者。改行しているように見えて実はmacOSのネィティブである、Unix互換のLFではないことがあるようだ。Windows系のCRLFかもしれない。だから処理の途中でOffice系のソフトを使ってしまうと原因不明の誤動作を招く。

対策

一旦、Wordで動作が怪しいCSVなどのテキストファイルを読む。


Wordが自動でTextに変換するので、それを「別名に保存する」時に対策が取れるのである。

「別名に保存」を選択し二つ目のダイアログが開いたところで行末を改行文字(LF)のみに設定して保存する。

あとはそのファイルの拡張子を適宜変更して利用する。

他にUnixコマンドなどでもできるようだが、どのように変更されてしまっているか分からないし、Officeの事はOfficeで統一した方がいいと思う。

改行コードが怪しいとは思ったが、こういう回避方法があるとは意外だった。

コメントを残す