RでExcelのファイルを読む

(RODBC,RODBC(ODBCデータベース・アクセス)パッケージ中のオブジェクト一覧を参照) RODBCを使い、ODBC経由でEXCEL(.xls)のデータを読み込みます。
これで日本の多くの統計情報(なぜかEXCELでの提供が多い)が扱えると思います。

xlsxファイルについては→Excel2007ファイルの読み書き

使用例

> library(RODBC)
> conn <- odbcConnectExcel("d:/home/hoge/2003都道府県別人口.xls") 
> # テーブル(シートの一覧)
> sqlTables(conn)
                           TABLE_CAT TABLE_SCHEM      TABLE_NAME   TABLE_TYPE
1 d:\\home\\hoge\\2003都道府県別人口        <NA> 都道府県別人口$ SYSTEM TABLE
  REMARKS
1    <NA>
> tbl<-sqlQuery(conn,"select * from [都道府県別人口$]" ) 
> is.data.frame(tbl)
[1] TRUE
> barplot(tbl$人口/10000,main="都道府県別人口",ylab="万人",names=as.vector(tbl$都道府県),las=3)
> odbcClose(conn)

odbcConnectExcel

ファイル名を与えるとき、お手軽でよい。 ファイルを任意に選びたいときは、odbcConnect("Excel Files") とすると、ブックの選択 ダイヤログが出てくるので便利である。

sqlQuery

TABLE_NAME はシート名の事。 列を選択したいときは、たとえば、1列目に"都道府県,人口"としてあるなら、 sqlQuery(conn,"select [都道府県],[人口] from [都道府県別人口$]" で読めるはずである。

read.xls

Windows の場合は Active Perl が必要で、read.xls 使用時には以下のように、Perl のパス名を指定する。デフォルトでは、1番目のシートを読み込む。残念ながら、Windowsでは日本語未対応のようだ。

>library(gdata)
>jpnpop <- read.xls("d:/home/hoge/2003都道府県別人口.xls", perl="C:/perl/bin/perl.exe")

xlsReadWrite

ネィティブの xls ファイルの読み書きが可能。日本語に対応。

dataframes2xls

 データフレームを XLS ファイルに書き込む

注意

日本語を扱う場合は日本語パッチが必要。
運が悪いと落ちるので、こまめにセーブ。
カラムの一覧はよくわからない。

# たしか、ODBCって元々弱かったと思うのだけど。

参考サイト

他の情報も求む。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-03-25 (土) 11:19:16