如何在R中将多个文本文档导入为指定结构的数据框?
解决方案
方法1:基于已创建的语料库转换
从你现有的corpus里直接提取文档名和内容,就能生成目标结构的数据框:
# 提取所有文档的文本内容 content_list <- lapply(corpus, content) # 提取文档名称(语料库自带的命名就是文件名) doc_names <- names(corpus) # 若提取的名称带路径,用这行只保留纯文件名:doc_names <- basename(names(corpus)) # 组合成数据框 doc_df <- data.frame( DOCUMENT = doc_names, CONTENT = unlist(content_list), stringsAsFactors = FALSE )
方法2:跳过语料库直接读取(更高效)
如果后续不需要用语料库做额外操作,直接批量读取文件会更简单:
# 定位目标文件夹 target_folder <- "C:/Users/folder" # 获取所有txt文件的完整路径 txt_paths <- list.files(target_folder, pattern = "*.txt", full.names = TRUE) # 提取纯文件名 doc_names <- basename(txt_paths) # 批量读取每个文件的内容,合并为完整文本(避免按行拆分) content_list <- lapply(txt_paths, function(file) { paste(readLines(file, warn = FALSE), collapse = "\n") }) # 生成数据框 doc_df <- data.frame( DOCUMENT = doc_names, CONTENT = unlist(content_list), stringsAsFactors = FALSE )
注意事项
- 如果文档有特殊编码(比如GBK),可以在
readLines里添加encoding = "GBK"参数适配; - 两种方法生成的
doc_df都是你需要的两列结构,执行head(doc_df)就能快速查看结果。
内容的提问来源于stack exchange,提问作者Li4991
相关产品推荐
相关产品推荐

