如何在 for 循环后覆盖现有的 .txt 文件
How to overwrite existing .txt files after for loop
我正在尝试使用 for 循环删除每个文本的初始部分,然后使用 write.table
导出修改后的文本,但在我的文件夹中我注意到 write.table
会生成一组新文件而不是替换原始文件。谁能告诉我如何覆盖现有文件?
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)
}
进入代码你可以用
删除当前文件i
file.remove(paste0(file.names[i],".txt"))
然后是你的代码
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 = " ")
是否会正确替换您的原始文件。我曾经做过这种循环,我必须多次检查我的新书面文件的结构(引号、NA、delims 等等)
在我看来,您正在尝试使用 'two' 扩展名编写文件,因为您读取它们时喜欢使用 filenameWithExtension,而不是编写它们 filenameWithExtension.txt。如果是这种情况,解决方案就是将此 paste(file.names[i],".txt",sep="")
更改为此 file.names[i]
.
如果我错了,你应该给我们看一个 file.name 内容的例子。
我正在尝试使用 for 循环删除每个文本的初始部分,然后使用 write.table
导出修改后的文本,但在我的文件夹中我注意到 write.table
会生成一组新文件而不是替换原始文件。谁能告诉我如何覆盖现有文件?
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)
}
进入代码你可以用
删除当前文件i
file.remove(paste0(file.names[i],".txt"))
然后是你的代码
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 = " ")
是否会正确替换您的原始文件。我曾经做过这种循环,我必须多次检查我的新书面文件的结构(引号、NA、delims 等等)
在我看来,您正在尝试使用 'two' 扩展名编写文件,因为您读取它们时喜欢使用 filenameWithExtension,而不是编写它们 filenameWithExtension.txt。如果是这种情况,解决方案就是将此 paste(file.names[i],".txt",sep="")
更改为此 file.names[i]
.
如果我错了,你应该给我们看一个 file.name 内容的例子。