ExcelのファイルをSPSSに読み込ませる方法

ver1.1 初版:2008/12/31,CSVの亜種について補足 2013/03/21

この文書の由来

某大学の夏期集中講義最終日、ちょっと時間が余ったので「何でも質問受付コーナー」を設けた。

ある学生から「前期に受講したSPSSの科目で、夏休み前にレポート課題が出たんだけど、解析用に渡されたExcelデータをSPSSにインポートする方法がわからなかった。単位はもう確定してしまったけれども、悔しいからできるようになりたい。」との相談。

どうも、社会学とか経済学とか商学とかの学生らしい…。

私:「そう言えば、SPSSを使って、プログラミング的な難しい命令をガンガン入力させるような授業を、かなりキッチリとやっていらっしゃる先生がいらしたな…。確か、テキパキ風でしかも優しい感じのお姉さんがアシスタントに付いている授業だよね?」

学生:「あ、はい。その授業です。解析用の元ファイルはExcelで渡されました。ネットで検索して、Excelファイルを取り込む方法を説明しているサイトの説明を、色々試してみたんですけど、どれも上手く行かなくて…。結局、Excelファイルを見ながら全部SPSSに手入力で入れ直して計算しました。」

私:「え~と…。SPSSって、全く使ったことないんだよね…。『統計のソフトである。』『とっても高価だ』ってことしか知らん。ま、試しに今やってみるから、その中のどれでうまくいきそうか、一緒に見ててね。」

学生:「はい。」

方法その1 ExcelファイルをそのままSPSSで開いてみる

色んなサイトで紹介されているようなので、説明はそちらをご覧下さい。

なお、私が試した感じでは、Excel97-2003の「Sheet1だけは、普通にインポートできるようでした。
しかし、複数のシートがあって、Sheet2やSheet3から取り込みたい場合に、どうすれば良いのかは、突き詰めて研究できなかったので、よくわかりませんでした。

また、新しいExcel2007の「.xlsx」形式ではどうなるのか?

Sheet1についてだけは、普通にインポートできるのか?
それとも、或いは、全くダメなのか? という点については、試していません。
また、大学で使うSPSSのバージョンによっても、変化するでしょう。

方法その2 Excelファイルを一度、CSV形式に落とし込み、それをSPSSで開いてみる

所詮はマイクロソフトの独自保存形式であるExcel形式ではなく、昔から広く使われてきた汎用的なデータフォーマットからならば、SPSSでも開けるはずです。

ではなく、

とすれば良いわけですね。

それで、「昔から広く使われてきた汎用的なデータフォーマット」にも色々あるのですが、CSV形式がオススメ。

CSVとは、Comma Separated Value の頭文字で、直訳すると「カンマで値が区切られたもの」という意味ですね。

例えば以下のような表がExcelに入っていたとして、

機種名 全長 全高 全幅 相転移エンジン 核パルスエンジン   その他艤装
NERGAL ND-001 NADESICO 298m 106.8m 148m 2基 4基 グラビティブラストレーザー砲2門、艦首ミサイル艦32 Yユニット装着。
NS955B 300m     2基 4基 グラビティブラスト1門  

これをCSV形式で保存すると、項目が半角の,で区切られたテキストデータとして出力されます。

なお、CSV形式には多少の方言差があって、Windowsの世界では、出力例その1出力例その2が一般的のようです。


出力例その1(一般的に多いCSV形式→「,」で区切るだけ

機種名,全長,全高,全幅,相転移エンジン,核パルスエンジン,,その他艤装
NERGAL ND-001 NADESICO,298m,106.8m,148m,2基,4基,グラビティブラスト1門、レーザー砲2門、艦首ミサイル艦32,当初はYユニット無し。後にYユニット装着。
NS955B,300m,,,2基,4基,グラビティブラスト1門,


出力例その2(改行が入っているデータを変換した時に出力されるCSV形式で最も多い形式→「""」で括って「,」で区切る

"機種名","全長","全高","全幅","相転移エンジン","核パルスエンジン","","その他艤装"
"NERGAL ND-001 NADESICO","298m","106.8m","148m","2基","4基","グラビティブラスト1門、レーザー砲2門、艦首ミサイル艦32","当初はYユニット無し。後にYユニット装着。"
"NS955B","300m","","","2基","4基","グラビティブラスト1門",""


出力例その3(改行が入っているデータを変換した時に出力されるCSV形式で少数派の形式→「''」で括って「,」で区切る

'機種名','全長','全高','全幅','相転移エンジン','核パルスエンジン','','その他艤装'
'NERGAL ND-001 NADESICO','298m','106.8m','148m','2基','4基','グラビティブラスト1門、レーザー砲2門、艦首ミサイル艦32','当初はYユニット無し。後にYユニット装着。'
'NS955B','300m','','','2基','4基','グラビティブラスト1門',''


Excel2007からCSV形式への保存の仕方は以下の通り。 (練習用ファイル Excel2SPSS.zip をダウンロードし、解凍して、やってみましょう。なお、学生の名簿はダミーデータです。)

Excel2007からCSV形式への保存の仕方の図

その他の形式を選択する。

Excel2007で保存時にCSV形式を選択するの図その1

名前を付けて保存の画面の「ファイルの種類」の右側にある▼を開き、(かなり)「下の方」にある「CSV(カンマ区切り)」を選択する。

Excel2007で保存時にCSV形式を選択するの図その2

保存ボタンを押す。

CSVではシートを1枚分しか保存できません。

上のような画面が出る場合もある(出ない場合もある)。その時は、OKを押す。

Excelの形式じゃないよ、とか脅かされるの図

しつこく、Excelの形式じゃないよ、とか脅かされます。少し不安になりますね? でも、い~んです!
「はい」を押します。

変更を保存しますか?には「いいえ」で答える、の図

Excelを×で終了しようとすると、上のように聞いてきますが、「いいえ」で構いません。

保存したファイルのデスクトップのアイコンの図

次に

SPSS Ver16.0J起動の図

「テキストデータの読み込み」の図

「すべてのファイル」のファイル形式を選択するの図

先ほど保存したCSVファイルを選択するの図

フィールド区切り文字が半角の「,」に指定されていることを確認するの図

下の画面の「右側」部分に注目。

ここで,で区切られているだけなのか、あるいは前後に""''が付いているのかを指定する。

これが、先ほど説明したCSV形式の方言差です。


[Go to top page]

copyright 2008~ 谷本玲大
http://www.tanimoto.to/