2012-05-08 5 views
4

.xlsx(2010)用に7000を超えるExcelデータファイルがあります。私のRバージョンはR 2.15.0です。 xlsxをxlx、.cvs、またはtxtに変換するための手動操作を行うと、それにかかる時間が長くなります。xlsxファイル(2010)をR 2.15.0にインポートする方法

+0

パッケージ "XLConnect"を使用してください – Andrie

+0

http://stackoverflow.com/questions/1858195/convert-xls-to-csv-on-command-line –

答えて

1

私はXLSconnectを使用していませんが、私の学生はxlsxパッケージを使用しました。次に、関数read.xlsxまたはread.xlsx2のいずれかがxlsシートに読み込まれます。このパッケージには、xls形式の読み書きオプションがあり、スプレッドシートや特定の領域に特定のシートを読み書きすることができます。

私がこのパッケージを使用するために私の生徒(生物学の2年生)に与えた唯一の正式な指針は、スプレッドシートが「整形式」でなければならないということです。 (すべての項目は数式ではなく、最初の行は小文字の変数名であり、2〜##行は各変数のデータです。同じレコードのすべての項目よりもレコードの場合同じ行にあります)これは* .xlsという厳しいものではありませんが、データファイルを読むときに生徒にとって問題は最小限になりたいと思っていました。 gdataパッケージで

+1

パッケージ 'xlsx'と' XLConnect'は同じJavaライブラリ。しかし、私の見解では、XLConnectの方がはるかに優れています(つまり、ライブラリの使いやすさと利便性が向上します)。 – Andrie

+0

これは私の学生と一緒に使って調べていきます。 – Schumacher

+0

私はライブラリ( "XLConnect")を使用しますが、それは偽と表示されます。私にJavaの再インストールを依頼してください。私はJavaを再インストールしますが、実行することもできません。 必要なパッケージをロードしています:XLConnectJars ロードパッケージ:rJava エラー: 'rJava' Javaをインストールし、RとJavaのアーキテクチャが一致していることを確認してください。<-read.xls( 『file.name.xlsxを「) エラー:オブジェクト『キー』が見つかりません エラー私はこの文を使用して、GDATAパッケージをアップロードしたときに、パッケージ『rJavaは』はい –

1

機能read.xlsRxlsxxlsファイルを読み込みます。私はこれを頻繁に使う。

セットの場所に直接作業:あなたはで動作するようにExcelファイルをたくさん持っているよう

が鳴り、ここで私はRにこれらのファイル(両方xlsxxls)を大量に得るために行うものです私のExcelファイル

setwd("F:\\ address of folder with all my Excel files") 

は、リストを確認し、作業ディレクトリに

のすべてのファイルのリストを作成します

MyFiles 

Makeke作業ディレクトリに含まれるxlsファイルとxlsxファイルのすべてのデータを含むリスト。これはバッチデータインポート機能に似ています。

library(gdata) 
Mylist <- lapply(MyFiles, read.xls) 

など、このフォルダ内のすべてのファイルを読むことを確認し、場合には、いくつかのExcelファイルが壊れている、結果はFALSEであれば、問題があります。

identical(length(MyFiles), length(Mylist)) 

は、それから私は、ファイル内のデータに対して機能を実行するなど、sapplyを続けていきます。

+1

をロードできませんでした』 「シート= 3)」が、すべての問題が解決される。 –

+0

私はまた、あなたのために有用であるかもしれない、R' 'にExcelファイルを大量にインポートするバッチのいくつかの詳細を追加しました@ZhiqiangChen。 – Ben

+1

昨日はGDATAを使用パッケージには、のxlsxを読むには速度が非常に遅いですnoly一つのファイルには、それが2秒を実行する必要があり、次のようなプログラムを:。。。ライブラリー(「GDATA」) をするために(I 1:7000){ file.name < -paste( "C:/ユーザ/ zhen0001 /デスクトップ/ Silciscanデータ/ B4E _"、I、 "_ SilviScan_Report.xlsx"、9月= "") possibleError = tryCatch(データ< - read.xls(file.name、シート= 3)、誤差=関数(e)e) 次(継承(possibleError、 "エラー")) =分(データ[1]) B = MAX(データ[1]) C <-B-Aであれば+ 1 D

関連する問題