将数据框列导出为单独的txt文件

时间:2016-01-23 23:15:50

标签: r text dataframe

我将几部小说分成了一个名为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函数可能在这里工作得很好吗?

1 个答案:

答案 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"))
 }

请注意,如果在开始循环之前已经设置了路径,则无需每次都指定路径。