web-dev-qa-db-ja.com

Rで.xlsbファイルを開く方法は?

Rで.xlsbファイルを開こうとすると、同様のエラーが発生し続けます。

データをダウンロードして別の形式で保存せずにこの問題を解決する方法に関する推奨事項はありますか?

read.xlsx(paste(OutputLocation,FileName, sep=""), sheetName = "Master Data")

エラーメッセージ:。jcall( "RJavaTools"、 "Ljava/lang/Object;"、 "invokeMethod"、cl、:org.Apacheのエラー。 poi.xssf.XLSBUnsupportedException:.XLSBバイナリワークブックはサポートされていません

rigDataWB<-loadWorkbook(paste(OutputLocation,FileName, sep=""))

エラーメッセージ:エラー:XLSBUnsupportedException(Java):. XLSBバイナリワークブックはサポートされていません

注意:

Perlライブラリをインストールできません。

私は64ビットRを実行しています。

参照:http://www.milanor.net/blog/?p=779

私のデータは次のとおりです:http://phx.corporate-ir.net/phoenix.zhtml?c=79687&p=irol-reportsother

14
user2946746

RODBCパッケージを使用します。

library(RODBC)
wb <- "D:\\Data\\Masked Data.xlsb" # Give the file name
con2 <- odbcConnectExcel2007(wb)
data <- sqlFetch(con2, "Sheet1$") # Provide name of sheet
nrow(data)
10

1つの方法は、ODBCを使用することです。

require(RODBC)
if (any(grepl("*.xlsb", odbcDataSources(), fixed = TRUE))) {
  download.file(url = "http://phx.corporate-ir.net/External.File?item=UGFyZW50SUQ9NTcwMjI1fENoaWxkSUQ9MjcxMjIxfFR5cGU9MQ==&t=1", 
                destfile = file.path(tempdir(), "test.xlsb"), 
                mode = "wb")
  conn <- odbcConnectExcel2007( file.path(tempdir(), "test.xlsb")) 
  df <- sqlFetch(conn, sub("'(.*)\\$'", "\\1", sqlTables(conn)$TABLE_NAME)[4]) # read 4th sheet in the table name list
  head(df, 10)
  #                                             F1          F2         F3       F4        F5 F6
  # 1                                         <NA>        <NA>       <NA>     <NA>      <NA> NA
  # 2                                         <NA>        <NA>       <NA>     <NA>      <NA> NA
  # 3                                         <NA>        <NA>       <NA>     <NA>      <NA> NA
  # 4                                         <NA>        <NA>       <NA>     <NA>      <NA> NA
  # 5  Baker Hughes Gulf of Mexico Oil / Gas Split        <NA>       <NA>     <NA>      <NA> NA
  # 6                                         <NA>        <NA>       <NA>     <NA>      <NA> NA
  # 7                                         <NA> US Offshore Total\nGoM Gas\nGoM Oil \nGoM NA
  # 8                                       1/7/00         127        123      116         7 NA
  # 9                                      1/14/00         125        121      116         5 NA
  # 10                                     1/21/00         125        121      116         5 NA
  close(conn) 
}
6
lukeA

.xlsbに接続しようとしたRで次のエラーが発生した場合:

[RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

次に、MicrosoftからAccessDatabaseEngine_X64.exeをインストールするのにおそらく足りないでしょう。今日この問題が発生しました。このファイルをインストールした後、エラーメッセージは表示されなくなりました。

1
braga461

install.packages( "RODBC")ライブラリ(RODBC)dataRead <-"Binary 2018-01-01.xlsb" ConnectionObj <-odbc(dataRead)

上記のコードは、「RODBC」パッケージのodbcConnectExcel2007として機能しません。エラー-{xml:code}

ConnectionObj <-odbcConnectExcel2007(dataRead)odbcConnectExcel2007(dataRead)のエラー:関数 "odbcConnectExcel2007" {コード}が見つかりませんでした

0
user10720626