从 R 中的列表中导出单独的文本文件

Posted

技术标签:

【中文标题】从 R 中的列表中导出单独的文本文件【英文标题】:Export separate texts files from list in R 【发布时间】:2015-05-12 12:32:25 【问题描述】:

我有一个包含 4951 个命名元素的大型列表。这些元素中的每一个基本上都是字母(也就是说,它们是字符串字符)。我想做的是将列表中的每个元素导出为单独的文本文件,文件的名称与其在列表中的名称相对应。

我所拥有的一个简单版本是这样的:

 letter1 <- c("here is some text")
 letter2 <- c("and here is some more text")
 letter3 <- c("and this is the final one")

 list <- list(letter1 = letter1, letter2 = letter2, letter3 = letter3)

我想要以下内容:

letter1.txt,内容为“这里有一些文字” letter2.txt,其内容是“还有一些文字” letter3.txt,内容为“and this is final one”

我想我应该使用循环。但是,我不知道如何超越这一点:

for (i in 1:length(list))


【问题讨论】:

【参考方案1】:

for (i in 1:length(list)) write.csv(list[i], file=paste0(names(list)[i], ".txt"))

编辑

如果需要函数中的输出目录:

 write.csv(list[i], file=paste0("output/", names(list)[i], ".txt"))

【讨论】:

太棒了。抱歉,但我忘了在 output/ 子目录中添加需要它。 只需将 output/ 目录粘贴到输出文件名的开头 setwd() 在所有之前。 谢谢。我以为这是我必须做的,但我的语法错误。 我还将粘贴功能编辑为paste0。将所有内容放在一起,没有空格。【参考方案2】:

试试这个:

filenames <- names(list)
for (i in 1:length(list))
  outname <- paste("c:/testFolder/", filenames[i], ".txt", sep= "")
  write.table(list[[i]], outname, col.names= F, row.names= F, quote= F)

【讨论】:

以上是关于从 R 中的列表中导出单独的文本文件的主要内容,如果未能解决你的问题,请参考以下文章

在访问文本中导出 sql 查询

R语言使用read_table函数读取文本文件或者文本数据生成dataframe数据集从分隔文本文件中导入数据(Importing data from a delimited text file)

Kettle从文本中导入大量到数据库

从文本文件中删除每个单独列中的重复项

从python中的文本文件中读取行(windows)

尝试在单独的文本文件中查找单词