r - 循环读取大文本文件
问题描述
我有一个 30GB 的大文件要处理。
我试图逐行读取它,因为它无法加载到内存中。
base::readLines
并且readr::read_lines_chunked
只能从第一行开始读取块并在最后一行结束。
我想做的是指定如下内容:
read lines 1:100
read lines 101:200
read lines 201:300
read lines 301:400
...
until the end of the file
如果我可以指定要读入的确切行,我可以在循环中执行此操作,但我认为上述函数都不允许这样做。
有没有办法做到这一点?
中的skip
参数readr:read_lines_chunked
允许跳过n
数据文件中的第一行,但我需要的是跳过第一行n
和最后m
一行。
例如,如果文件有1000
行:
跳过第一个100
和最后一个800
会读入101-200
解决方案
感谢@JamesB,解决方案是:
library("LaF")
get_lines(file, line_numbers=c(100,101))
推荐阅读
- c - c中的局部变量和内存
- webpack - 构建服务器端渲染包时“未定义自我”
- azure-devops - Chocolatey 无法在 Azure Pipeline 上安装 Inno Setup
- bash - 如何在等待用户输入时更改 Bash 脚本的输出?
- java - 如何获取java应用程序的所有包?
- javascript - 如何从异步 php db 搜索向地理编码器发送地址
- ruby-on-rails - 打开 dump.rdb 时 Redis 权限被拒绝
- javascript - 无法理解 javascript 语法:if (parameter == "someValue") parameter = ""
- html - 使网页适合任何浏览器/屏幕尺寸
- mysql - 即使初始选择失败,也可以从第二个加入的表中获取结果,反之亦然