Excel のワークシートファイルからデータを読む     Last modified: Apr 17, 2007

Excel のワークシートからデータを直接読むには,gdata パッケージにある read.xls 関数が使える。数式が含 まれていてもかまわない。また,複数のシートを含む場合にも読み込むシート番号を指定できる(sheet 引数で 指定する。デフォルトは sheet=1)。しかし,日本語には十分には対応していないので,日本語を含めないよう にデータを作る方がよい。

CSV 形式で保存して,read.csv を使えばよいが*1,既存のデータベースにあるファイルだと余分な部分が入っているのでそれを削ったりしないといけないし,Excel は案外使いにくいので,簡単確実な方法を勧める。


注1: read.csv, read.csv2, read.delim, read.delim2 は,パラメータのデフォールトが違うだけで read.table の派生物なので,read.table の方がパラメータも豊富。パラメータの設定をちゃんとして read.table を使えばよい。
CSV 形式のファイルの存在意義は,空白を含む文字型データを使うためだけである。たとえば "abc def" のような場合,引用符がないと abc と def という 2 つのデータと解釈されるおそれがある(行ごとにデータの個数が違うというエラーが出ることになる)。"xyz" のような場合,空白を含まないので引用符は不要(あってもよいが)。
空白を含まない文字型データとか数値型データのみを取り扱う場合は,タブ区切りでも何の問題もないというか,タブ区切りの方が汎用性が高い。たとえば Excel にペーストするとちゃんと各セルに数値が格納される。スペースやカンマ区切りだとそうはいかないのである。
・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI