You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让R一次性读取数千份.txt格式的10-K财务报告?

解决R读取多个10-K文本文件的问题

Hey there! Let's break down your issues one by one and get those 10-K reports loaded smoothly.

1. 关于readtext无输出无报错的问题

你遇到的“无输出无报错”其实是正常现象——readtext已经把结果存入了text变量,但R默认不会自动打印变量内容。你只需要在运行代码后输入text或者print(text)就能看到读取到的内容了。

另外,先确认你的路径是否正确,避免因为路径错误导致读取失败:

dir <- "/Users/Documents/Edgar filings"
target_dir <- paste0(dir, "/ALL_2016")
# 检查目标文件夹是否存在
dir.exists(target_dir)

如果返回TRUE,说明路径没问题;如果是FALSE,需要检查文件夹名是否拼写正确(注意空格和大小写)。

对于单个文件的读取,不需要加通配符*,直接用完整文件名即可:

text_single <- readtext(paste0(target_dir, "/10254_10-K_2016-03-11.txt"))
print(text_single)

2. 关于quanteda的textfile报错问题

textfile函数在新版本的quanteda中已经被弃用了,现在官方推荐用readtext配合corpus()来创建语料库。首先确保你的quanteda是最新版本:

update.packages("quanteda")

然后用以下代码读取并创建语料库:

library(quanteda)
library(readtext)

mycorpus <- corpus(readtext(paste0(target_dir, "/*.txt")))
# 查看语料库基本信息
summary(mycorpus)

3. 使用list.files()+循环的手动读取方法

如果你想手动实现循环读取,这里有个清晰的步骤:

第一步:获取所有txt文件的完整路径

file_paths <- list.files(
  path = target_dir,
  pattern = "\\.txt$",  # 匹配所有以.txt结尾的文件
  full.names = TRUE     # 返回完整路径,方便后续读取
)

这会返回一个包含所有目标文件路径的向量。

第二步:循环读取文件

可以用lapply(比for循环更简洁)或者for循环:

方法1:用lapply读取到列表中

# 读取每个文件的内容,存入列表
text_list <- lapply(file_paths, function(path) {
  # readLines适合读取纯文本文件,warn=FALSE关闭换行符警告
  readLines(path, warn = FALSE)
})
# 给列表元素命名(用文件名)
names(text_list) <- basename(file_paths)

方法2:用for循环读取并整理成数据框

# 初始化空数据框
text_df <- data.frame(
  doc_id = character(),
  text = character(),
  stringsAsFactors = FALSE
)

for (path in file_paths) {
  # 读取文件内容并合并成单字符串
  content <- paste(readLines(path, warn = FALSE), collapse = "\n")
  # 添加到数据框
  text_df <- rbind(text_df, data.frame(
    doc_id = basename(path),
    text = content,
    stringsAsFactors = FALSE
  ))
}

之后你可以把这个数据框转换成quanteda语料库:mycorpus <- corpus(text_df)

总结

最推荐的方法是用readtext配合quanteda,因为它专门处理多文本文件的读取,会自动帮你整理好文档ID和内容,省去手动循环的麻烦。如果还是有问题,先检查文件路径是否正确,以及R包是否是最新版本。

内容的提问来源于stack exchange,提问作者xantos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:42:45