R语言批量读取txt.gz
时间: 2025-06-28 18:18:33 浏览: 14
### R语言批量读取 `txt.gz` 文件
为了实现批量读取 `.txt.gz` 文件,在R语言中可以利用 `gzfile()` 函数来打开压缩文件,并结合 `readLines()` 来读取内容。对于多个文件的操作,则可以通过构建一个包含所有目标路径的向量并迭代处理每一个文件。
下面提供一段示范性的代码片段用于说明这一过程:
```r
library(stringr)
# 定义工作目录以及模式匹配所需的正则表达式
dir_path <- "C:/Documents/TXT_GZ_Files/"
pattern <- "*.txt.gz"
# 获取指定目录下所有的 .txt.gz 文件名称列表
file_list <- list.files(path = dir_path, pattern = pattern, full.names = TRUE)
# 初始化一个空字符变量存储最终合并后的文本数据
merged_text <- ""
for (file in file_list) {
# 利用 gzfile 和 readLines 组合读取 gzip 压缩过的 txt 文件
content <- readLines(gzfile(file), warn = FALSE)
# 将每次读取的结果追加到总的字符串后面,每条记录间通过换行符分隔
merged_text <- paste(merged_text, content, sep = "\n")
}
# 输出或保存合并后的结果至新的文件或其他操作...
cat(merged_text, file = "output.txt", sep = "\n")
```
此段程序首先设置了要扫描的目标文件夹位置 `dir_path` 并指定了寻找具有 `.txt.gz` 后缀名的文件;接着创建了一个完整的文件路径列表 `file_list` 以便后续循环访问各个项目;最后采用 `for` 循环依次加载每个被选中的`.txt.gz` 文件的数据,并将其累积在一个单独的大字符串里准备进一步分析或是导出[^1]。
#### 注意事项
- 需要注意的是当涉及到大量大尺寸文件时可能需要考虑内存管理策略以防止超出可用资源。
- 如果遇到编码问题,可以在调用 `readLines()` 的时候适当调整参数设置如 `encoding="UTF-8"` 或其他适合的选择。
阅读全文
相关推荐



















