Drafts

@cm3 の草稿置場 / 少々Wikiっぽく使っているので中身は適宜追記修正されます。

UTF8 の CSV を Excel に読み込む

UTF8 の CSV は便利

  • 多言語やさまざまな記号が扱える
    • 特にうちのような多言語を扱う研究所では重要
  • プログラムで処理しやすい
    • 現代的な言語なら UTF8 が前提だし、CSV は仕様がシンプルなのでライブラリも安定している
  • Excel で開くことができるので、プログラムがいじれない人でも便利に閲覧、編集できる。

でも、Excel に読み込むときには注意が必要

エクセルが入っているコンピュータでは、CSV ファイルをそのまま開くこともできます。

特にアルファベットのデータだと、一見うまく開けたように見えますが、ところどころ文字化けしてしまっていたり、データの読み込みに失敗して件数が一致しなかったりします。

そこでUTF8のcsvExcelに正しく読み込む方法を紹介します。

UTF8 の CSVExcel に読み込む正しい方法

f:id:cm3ak:20150731215648p:plain

データ>外部データの取り込み>テキストファイル からファイルを選択します。

f:id:cm3ak:20150731215916p:plain

「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」にチェックを入れて、「元のファイル」のエンコードを UTF8 に(アルファベット順に並んでいるので下の方にあります)。

f:id:cm3ak:20150731222621p:plain

「区切り文字」をカンマに、データのプレビューで適切に区切られていることをチェックして、次へ。

f:id:cm3ak:20150731222818p:plain

データ形式はそのままでもいいです。数字が勝手に日付に解釈されたりして困るようでしたら、全部「文字列」として解釈させておくのが良いと思います。これで、読み込めました。

Excel から UTF8 の CSV に戻す方法

今のところ Excel では UTF8 の CSV を直接出力することができません。Python3 をインストールした環境下で、dilshod/xlsx2csvを使って元に戻さなければなりません。

(2016/4/15追記 sheet delimiter, line terminator and output encoding supported by cm3 · Pull Request #79 · dilshod/xlsx2csv · GitHub で本家にマージされたので、最新版は dilshod さんの方です)

そこにある xlsx2csv.py をダウンロードしてきて、

python xlsx2csv.py -l "\n" [エクセルファイル名] [CSVファイル名]

コマンドラインから実行すれば可能です。

参考

TODO

  • 説明動画の公開
  • 人文系のためのデータ処理(R や KH Coder でできるような処理を補完するような)シリーズで書き溜めて書籍化しようとかいう話が上がっているが、さて。