LoginSignup
6
6

More than 5 years have passed since last update.

Excel for Mac(15.31)のCSV保存方法は二種類ある!

Last updated at Posted at 2018-07-06

株式会社オークファンの佐藤です。
どういうわけか社内エンジニアのHHKB率が増えてきた、今日このごろです。

CSVのエクスポートで困る

Excel for Macのxlsxシートを「名前をつけて保存」すると出力されるCSVが、なぜかBOMつきUTF-8、改行コードもCRになってしまいます。
他の人は普通にCR+LFで出力できるのになぜ?と思って、エクスポート時の文字コード・改行コードを調べてみたところ、ExcelからのCSV保存方法は二種類あることが判明しました!

保存オプション

この中に「CSV」が二種類あるのにお気づきでしょうか? 

excel-expoprt.png

ダイアログ 文字コード 改行コード
CSV UTF-8(カンマ区切り) (.csv) UTF-8 (with BOM) CR
CSV(コンマ区切り) (.csv) 特に指定なし? CRLF

Excel for Macのバージョンによっては、「UTF-8」の項目がない場合もあるようです。

CSVをExcelを開くと文字化けする問題に対応するために、UTF-8のエクスポートをつけたのでしょう。
「CSV」という文字だけで選ぶと、つい上にあるUTF-8にしてしまいますが、よりにもよってBOMありなので、先頭行を読み込む際にシステムのエラーチェックに引っかかることがあります。

(´-`).。oO(あと、コンマとカンマが並んでいるのが気になりますね……)

文字コードを確認するコマンド

生成されたファイルの形式は、コマンドで確認できます。

csv.sh
# 「CSV UTF-8(カンマ区切り)」 = BOMを入れるため、間違いなくUTF-8として解釈
$ find bom.csv | xargs file
./bom.csv: UTF-8 Unicode (with BOM) text, with no line terminators

# 「CSV(コンマ区切り)」 = BOMを入れないため、内容で文字コード解釈される
# ASCII文字しか入っていない場合
$ find bills.csv | xargs file
./bills.csv: ASCII text, with CRLF line terminators

# ASCII文字以外が入っている場合
$ find japanese.csv | xargs file
./japanese.csv: Non-ISO extended-ASCII text, with no line terminators

Excelから出力するCSVを使うときには、気にしておくといいと思います。

まとめ

(´-`).。oO(手順書に記載する際は気をつけてください……)

6
6
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
6
6