2016-03-25 21 views
0

xlsxパッケージを使用してRにExcelワークシートを読み込もうとしています。ファイルは、古い97-2003ワークシート(エンディングは.XLS)として保存されます。私は古いファイルにしようとすると93-2003 Excelワークシート(.XLS)をExcelにロードするR

df <- read.xlsx(filename,sheetIndex=2) 

は、しかし、私はエラーメッセージを取得:.jcallで

エラー( "RJavaToolsを"、 "Ljava/LANG /オブジェクト;"、 "は、invokeMethod"、CL、 : org.apache.poi.hssf.OldExcelFormatException:供給スプレッドシートはエクセル5.0/7.0(BIFF5)形式であるように思わPOIのみBIFF8フォーマットをサポートしている(Excelのバージョンからの97/2000/XP/2003)

私が知っています。エラーは、古い形式のファイルと関係がありますが、これを解決する方法がわかりません。手動で各ファイルを手動で更新するにはファイルが多すぎます。 任意のsu ggestionsは非常に高く評価されるだろう!

P.S.完全に再現可能な例を追加しないと謝罪します。私は私の質問に沿ってファイルを添付する方法を知らない。

答えて

1

パッケージreadxlは、Excelファイルを読み取る1つの方法です。利点は、Javaやその他に依存しないことです。

あなたのコードでは、それはXLSとXLSXファイルで動作するはず

library(readxl) 
df <- read_excel(path = filepath, sheet =2) 

だろう。

excel_sheets(filepath)を使用して、インポートするシートの名前を取得し、sheetのargをread_excelに渡します。それがあなたに役立つならば、それを使ってループを行うことができます。

関連する問題