2

以下のようなリストを使用して、複数のcsvファイルを開こうとしています。

filenames <- list.files("temp", pattern="*.csv", full.names=TRUE)

lapplyとread.csvを使用してtempディレクトリ内のすべてのファイルを開く例を見つけましたが、ファイルから抽出する必要のあるデータを適切に知っているので、読み取り時間を節約するために、このSQL拡張機能を使用します。

somefile = read.csv.sql("temp/somefile.csv", sql="select * from file ",eol="\n")

ただし、同じSQLクエリを適用してディレクトリ内のすべてのファイルを読み取ることができるように、これら2つの機能を1つのコマンドに組み合わせるのに問題があります。

誰かがこれを成功させましたか?

4

1 に答える 1

1

各ファイルからデータフレームのリストが必要な場合 (作業ディレクトリに .csv ファイルが含まれていると仮定):

files <- list.files(".", pattern="*.csv")
df.list <- sapply(filenames, read.csv.sql,sql="select * from file ",eol="\n",simplify=F)

または、それらをすべて結合したい場合:

df <- ldply(filenames, read.csv.sql,sql="select * from file ",eol="\n")
于 2013-02-28T12:50:41.187 に答える