我将几部小说分成了一个名为documents
的数据框。我想将每个块导出为单独的.txt文件。
由两列组成的数据框。第一列包含每个块的文件名,第二列包含将进入文件的实际文本。
documents[1,1]
[1] "Beloved.txt_1"
documents[1,2]
[1] "124 was spiteful full of a baby's venom the women......"
class(documents)
[1] "data.frame"
我正在尝试编写一个for
循环,它将占用每一行,将第二列转换为.txt文件,并使第一列成为文件的名称。然后迭代每一行。我一直在做这样的事情:
for (i in 1:ncol(documents)) {
write(tagged_text, paste("data/taggedCorpus/",
documents[i], ".txt", sep=""))
我也一直在读,cat
函数可能在这里工作得很好吗?
答案 0 :(得分:0)
我不肯定这会对你有用(稍微更多的输入和所需输出的例子会有所帮助),但你遇到的一个问题是你的for循环是按列而不是按行。如果你想为每一行做一次,那么它需要是for (i in 1:nrow(documents)
而不是ncol。
假设“documents”是data.frame的名称,并且包含要保存的文本的列称为“tagged_text”,而包含文件名的列称为“file”,请尝试:
for (i in 1:nrow(documents)) {
write(documents$tagged_text[i], paste0("data/taggedCorpus/",
documents$file[i], ".txt"))
}
请注意,如果在开始循环之前已经设置了路径,则无需每次都指定路径。