表計算ソフトにおけるCSVファイルの取扱い

文字コード

インターネットからダウンロードできる CSV ファイルは、文字コードが Shift_JIS のものがほとんどである。 これは代表的な表計算ソフト Microsoft Excel で扱う CSV ファイルの基本の文字コードが Shift_JIS だからである。

Ruby で扱うファイルの文字コードは UTF-8 が基本のため、Shift_JIS の CSV ファイルは UTF-8 に変換する必要がある。

CSV ファイルの文字コードを変換するには、nkf や emacs で行う方法(文字コードの変換)と LibreOffice を使う方法がある。

テキストの数値化

政府統計の総合窓口(e-Stat) などから CSV 形式でデータをダウンロードすると、数値がテキストと認識されるため計算ができないことがある。 このようなときは数値化を行う必要がある。

LibreOffice Calc

LibreOffice Calc では様々な文字コードの CSV ファイルを扱うことができる。


文字コードを指定した読み込み

  1. 起動時の [ファイルを開く] か、メニューバーの [ファイル][開く] で CSV ファイルを選択する。
  2. 「テキストのインポート」のダイアログにおいて、「文字エンコーディング」で文字コードを選択する。文字コードは通常 [Unicode(UTF-8)] もしくは [日本語(Shift-JIS)] で文字化けしない方を選択する。

文字コードを指定した保存

  1. メニューバーの [ファイル][名前を付けて保存] もしくは [コピーを保存] を選択する。
  2. ファイル名を付けて、形式で「テキストCSV(.csv)」を選んで [保存] ボタンをクリックする。
  3. 「文字エンコーディング」で文字コード [Unicode(UTF-8)] もしくは [日本語(Shift-JIS)] を選択する。

数値化

  1. 数値化したいテキストのセルを選択する。
  2. 右クリックでコンテキストメニューから[セルの書式設定]を選択してダイアログを表示する。
  3. 「数値」のタブをクリックし、「カテゴリー」を [数] にして [OK] をクリックする。
  4. メニューバーの[編集][検索と置換]を選択してダイアログを表示する。
  5. 「検索」に「^[0-9]」と入力する。
  6. 「置換」に 「&」と入力する。
  7. 「他のオプション」の [正規表現] にチェックを入れる。
  8. [すべて置換] をクリックする。

参考:http://oji3fromdti.blog.fc2.com/blog-entry-567.html

Microsoft Excel

Microsoft Excel では基本的に Shift_JIS の CSV ファイルしか扱えなかったが、最近は UTF-8 も扱えるようになってきている。

ただし、オンライン版では CSV ファイルで保存する機能はない。


文字コードを指定した読み込み

  1. Excel のメニューの [データ] をクリックする。
  2. 「データの取得と変換」の [テキストまたはCSVから] をクリックする。
  3. 読み込みたい CSV ファイルを選択する。
  4. 左上の「元のファイル」のところで文字コードを選択する。
  5. [読み込み] をクリックする。

古い方法

古い方法

以下は最近の Excel ではできなくなっている。

  1. CSV ファイルの拡張子を「.txt」に変更する。
  2. Excel のメニューの [ファイル] からそのファイルを開く。
    • 一覧に目的のファイル名が出てこなければ、ファイル名の入力場所の右側で「すべてのファイル(*.*)」を選択する。
  3. 「元のファイル」のところで文字コードを選択して [次へ] をクリックする。
  4. 「区切り文字」は「カンマ」を選択して [次へ] をクリックする。
  5. 列ごとにデータ形式を選択して [完了] をクリックする。



文字コードを指定した保存

  1. メニューの [ファイル] をクリックする。
  2. [名前を付けて保存] をクリックする。
  3. 「ファイルの種類」で選択して保存する。
    • 「CSV(コンマ区切り)(*.csv)」を選んで保存すると文字コードは Shift_JIS になる。
    • 「CSV UTF-8(コンマ区切り)(*.csv)」を選んで保存すると文字コードは UTF-8 になる(Excel 2016 以降)。

数値化

最近の Excel では特に数値化する必要がない。