r - R中read.fwf的一些问题
问题描述
我正在尝试打开一个固定宽度的大型文件,但不幸的是,函数 read.fwf 似乎非常耗时。由于我必须使用大型数据集,我会知道是否有其他解决方案可以节省时间,或者是否没有解决方案。
就我而言,要打开一个大约 60 万的文件,我使用以下代码:
df <- read.fwf(file = "df.txt", widths = c(1,3,3,4,3,3,1,1,2,2,2,2,1,1,3,3,2,2,3,1,2,2,3,2,1,3,1,1,3,3,1,3,1,1,1,1,2,3,1,2,1,3,2,1,1,1,3,3,1,1,1,2,4,16,3,7,1,1,2,1,2,2,1))
大约需要 12 分钟。
由于我不需要数据库中的所有列,因此我尝试删除其中一些列:
df <- read.fwf(file = "df.txt", widths = c(1,3,3,4,-3,3,-1,-1,2,-2,-2,2,1,-1,-3,-3,-2,-2,-3,-1,-2,-2,3,-2,-1,-3,-1,-1,-3,-3,-1,3,-1,-1,-1,1,-2,-3,-1,2,1,-3,-2,-1,-1,1,-3,-3,-1,-1,-1,-2,-4,-16,3,-7,-1,-1,2,-1,-2,2,-1))
我节省了一些时间(6 分钟),但该过程仍然过于耗时,因为我必须处理超过 200 万行的许多数据集。
解决方案
推荐阅读
- excel - 将用户窗体(进度条)置于一切之上
- r - 传单地图中的数据集和值之间的数据不匹配
- html - HTML将图像保持在行内而不会溢出
- swift - 如何在 Swift 5 中为多种类型进行扩展
- sql - Oracle Toad SQL 查询导致 id 计数不一致
- python - 如何从 PySpark 中的向量列中提取浮点数?
- java - 删除 JTabbedPane 的意外边框
- arrays - 为什么 Array(repeating: Dog(), count: 7) 会创建一个包含 7 个元素的数组,指向同一个 Dog 实例?
- regex - 如何在 Google 表格中将“+”字符转换为 REGEXMATCH 的正则表达式?
- mongodb - 猫鼬 .save() 和 .find() 从不返回响应