Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

株式会社オークファンの佐藤です。
どういうわけか社内エンジニアの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(手順書に記載する際は気をつけてください……)

s_satoh
自称"Freedom Dreamer"。以前にはライブレポートを書いたり、プロレスを取材したり、エンジニア以外のこともやってきました。現在はマトモなエンジニアとして修行中です。メタルが大好き。
aucfan
あらゆる商品に関する正確でフェアな情報を提供する企業として、世界における唯一無二の存在となるというビジョンの元、基盤となる技術を作り続けるマザーズベンチャー
https://aucfan.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away