Excelファイルからデータを取り出す/データを書き込むパッケージ 〜 XLConnect

パッケージ「XLConnect」をインストールして、次のように使えばいい。

> install.packages("XLConnect")
 警告:  package ‘XLConnect’ is in use and will not be installed
> library("XLConnect")
> orderBook<-loadWorkbook("order.xlsx")
> signals=readWorksheet(orderBook,sheet="order",header=TRUE)
> signals
        Date Order_Type Signal
1 2016-01-04          1    AXB
2 2016-01-05          3 GOOGLE
3 2016-01-06          1    VIX
4 2016-01-07          1     BK
5 2016-01-08          3   AAPL

正直途中、下記のようにCSVを読もうとしてエラーになり、詰まった。

> orderBook<-loadWorkbook("order.csv")
 エラー: IllegalArgumentException (Java): Your InputStream was neither an OLE2 stream, nor an OOXML stream

深くは追求していないけど、パッケージ内部で使用している入力ツールがCSVに対応していないのか?
とりあえず、エクセル読み込めたから放置。

ここまではデータ読み取り。ここからはデータ書き込み。

> orderBook<-loadWorkbook("order.xlsx", create = TRUE)
> createSheet(orderBook, name="output")
> df <- data.frame(a = c(1,2,3), b=c(4,5,6))
> writeWorksheet(orderBook, data=df, sheet="output", header=TRUE)
> saveWorkbook(orderBook, file ="order.xlsx")