2016-07-09 8 views
1

一時ディレクトリに7300 * .csvファイルがあります。私はRのzipアーカイブにこれらを圧縮したいと思っています。次のコードを使用していますが、これはFOREVERを使用しています。 Rを終了してWinZipプログラムを使用するのが短く、これを行う方法がありますか?非常に多くのファイルをZIPで圧縮しています

fileListing  = list.files(pattern = '*.csv') 
outZipFileName = gsub('.zip', '_TZflts.zip', zipName) 
sapply(seq_along(fileListing),function(ii) zip(outZipFileName, fileListing[ii])) 

もう一つの問題は、コード内のzipプロセスは、zipファイルとそのcsvファイルの内容以外に、ゴミファイルのトンを生成しますということです。

ありがとうございます。

BSL

+0

あなたは、ファイルをループする必要がいけない..あなたは1 'zip'呼び出しでそれらをすべて追加することができます。ああ、実際には、私が誤解している..あなたは、各CSV、またはすべてのCSVの1つのジップに別々のzipファイルをしたいですか? – user20650

+0

No. 7300のcsvファイルを含む1つのzipアーカイブ。 –

答えて

3

あなたはzipをzip形式で圧縮するファイルのベクトルを取ることができ、ファイルをループする必要はありません。これは、物事をスピードアップする必要があります。 ?zip

ファイルは次のとおりです: '記録されるファイルパスの文字ベクトル。

# write some files to be zipped 
for(i in 1:10) write.csv(mtcars, paste0("SOtemp", i, ".csv")) 

# zip 
zip("SOzip", files=list.files(pattern="SOtemp\\d")) 

# remove files from this example 
# file.remove(c("SOzip.zip", list.files(pattern="SOtemp\\d"))) 
+0

あなたの命令で試してみてください。受信した警告メッセージ 'running command' "zip" -r9X '、続いて7300個のcsvファイルのリストが表示されます。 zipファイルが作成されていません。 –

+0

私の答えの中に小さな例がありましたか?そうでなければ、http://stackoverflow.com/questions/29129681/create-zip-file-error-running-command-had-status-127はおそらく便利です(ただし、rtoolsのインストール後、パスを設定する前にもう一度試してみます)等) – user20650

+0

大丈夫、私はちょうどWindowsパーティションでそれを試して、私はあなたと同じメッセージを持っています。私はその後、[HBatの挨拶](パスの設定を含む)の手順に従った(http://stackoverflow.com/questions/29129681/create-zip-file-error-running-command-had-status-127?answertab=votes #tab-top)これで動作するようになりました。 – user20650

関連する問題