2019年7月4日木曜日

Rでxlsxファイルをopen/closeする方法

概要

Rでxlsxファイルをopenするための手順メモです。

xlsxを操作するパッケージは幾つかありますが、openxlsxが使いやすいかと思いましたのでその使い方をまとめます。


用語

・R:統計解析向けプログラミング言語
・openxlsx:Rでエクセルファイルのopen、read、writeを実装したライブラリ
    

手順

openxlsxをインストール

openxlsxをインストールします。インストールは「install.packages('openxlsx')」と入力するだけです。

> install.packages('openxlsx')
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
Installing package into ‘C:/Users/ken/Documents/R/win-library/4.0’
(as ‘lib’ is unspecified)
also installing the dependencies ‘Rcpp’, ‘zip’, ‘stringi’

 URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/Rcpp_1.0.5.zip' を試しています 
Content type 'application/zip' length 3265686 bytes (3.1 MB)
downloaded 3.1 MB

 URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/zip_2.1.1.zip' を試しています 
Content type 'application/zip' length 1119105 bytes (1.1 MB)
downloaded 1.1 MB

 URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/stringi_1.5.3.zip' を試しています 
Content type 'application/zip' length 15243599 bytes (14.5 MB)
downloaded 14.5 MB

 URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/openxlsx_4.2.3.zip' を試しています 
Content type 'application/zip' length 2756703 bytes (2.6 MB)
downloaded 2.6 MB

package ‘Rcpp’ successfully unpacked and MD5 sums checked
package ‘zip’ successfully unpacked and MD5 sums checked
package ‘stringi’ successfully unpacked and MD5 sums checked
package ‘openxlsx’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
	C:\Users\ken\AppData\Local\Temp\RtmpSw6Td8\downloaded_packages
「package ‘openxlsx’ successfully unpacked and MD5 sums checked」
と表示されればインストール成功です。

実行

以下のように記述すればエクセルの内容を取得・アウトプット出来ます。

> library(openxlsx)
> # Linuxの場合。ホームディレクトリからのパスを入力しないとダメ
> df <- read.xlsx("./shared/hoge.xlsx", sheet=1)
> # Windowsの場合。相対パスでも出来るがわかりにくいので絶対パスで記載。
> df <- read.xlsx("C:/Users/ken/hoge.xlsx", sheet=1)
> # オープンするシートは上記のシート番号の他に、シート名を指定しても開くことが可能。
> df <- read.xlsx("C:/Users/ken/hoge.xlsx", sheet="Sheet1")

逆に、データフレームをエクセルにアウトプットするのは以下のとおりです。

> write.xlsx("C:/Users/ken/hoge.xlsx", sheet=1)
> write.xlsx(hoge, "C:/Users/ken/hoge.xlsx", row.names=FALSE)

本日はここまでで。

0 件のコメント:

コメントを投稿

FX自動トレード_2021年6月実績

      概要 2021年6月が終わり、FX自動トレードによる収益実績を取り纏めましたので振り返ってみたいと思います。 2021年6月結果 2021年6月の実績は、実利利益額:\66,761、実績利益率は1.42%でした。 今月もボラが全く出ず。利益率の連続過去最低記録更新は免...