2017-04-24 5 views
0

forループを使用して各テキストの最初の部分を削除し、write.tableを使用して改訂テキストをエクスポートしようとしていますが、write.tableが元のファイルを置き換える代わりに新しいファイルを作成します。誰も私にどのように既存のファイルを上書きすることができますか?コードにforループの後に既存の.txtファイルを上書きする方法

for(i in 1:length(file.names)){ 
    text.v <- scan(file.names[i], what="character", encoding = "UTF-8") 
    novel.v <- paste(text.v, collapse=" ") 
    word.v <- gsub(".*</Header> ","", novel.v) 
    write.table(paste(word.v,collapse = " "), paste(file.names[i],".txt",sep=""), row.names=FALSE, col.names=FALSE, quote=FALSE) 
} 
+0

どのように新しいファイルを生成するのですか?同じ名前を保存していませんか? –

+0

私はすべてのファイルをリストとして読み込み、 'gsub'を実行して最後に書きます。 –

答えて

1

あなたはあなたのファイルをあなたがそれらをfilenameWithExtensionのように読んで、あなたがfilenameWithExtension.txtを書いているからです。その場合、ソリューションはpaste(file.names[i],".txt",sep="")file.names[i]に変更するだけです。

私が間違っている場合は、file.nameのコンテンツの例を示す必要があります。

0

あなたは

file.remove(paste0(file.names[i],".txt")) 

と、現在のファイルiを削除し、コード

write.table(paste(word.v,collapse = " "), paste(file.names[i],".txt",sep=""), row.names=FALSE, col.names=FALSE, quote=FALSE) 

チェックobjetc paste(word.v,collapse = " ")が正しくorigonalファイルを置き換えるかどうその後できます。私はこの種のループを行うのに使って、新しい書いたファイル(引用符、NA、delimsなど)の構造を何度か調べなければなりません。

+0

ありがとうございますが、あなたのコードがうまくいかず、私はまだフォルダに元のファイルがあります。 – fccog

関連する問題