使用 fread 计算行数而不读取整个文件[重复]

2023-12-12

我想使用 data.table 来处理一个非常大的文件。 它不符合记忆。 我考虑过使用循环(适当增加跳过参数)来读取块上的文件。

fread("myfile.csv", skip=loopindex, nrows=chunksize) 

处理每个块并使用 fwrite 附加结果输出。

为了正确执行此操作,我需要知道总行数,而无需读取整个文件。

正确/更快的方法是什么?

我只能在阅读第一列时思考,但也许有一个特殊的命令或技巧。 或者也许有一种自动方法来检测文件结尾。


1) 计数字段不知道count.fields立即将整个文件读入 R。尝试一下看看是否有效。

length(count.fields("myfile.csv", sep = ","))

如果文件有标题,则从上面减一。

2) sqldf另一种可能性是:

library(sqldf)
read.csv.sql("myfile.csv", sep = ",", sql = "select count(*) from file")

您可能还需要其他参数,具体取决于标头等。请注意,这根本不会将文件读入 R —— 仅读入 sqlite。

3) wc使用系统命令 wc ,该命令在 R 运行的所有平台上都可用。

shell("wc -l myfile.csv", intern = TRUE)

或者直接获取文件的行数

read.table(pipe("wc -l myfile.csv"))[[1]]

or

read.table(text = shell("wc -l myfile.csv", intern = TRUE))[[1]]

同样,如果有标题则减一。

如果您使用的是 Windows,请确保Rtools已安装并使用:

read.table(pipe("C:\\Rtools\\bin\\wc -l myfile.csv"))[[1]]

或者在没有 Rtools 的 Windows 上尝试以下操作:

read.table(pipe('find /v /c "" myfile.csv'))[[3]]

See 如何使用批处理脚本计算文本文件中的行数并将值存储到变量中?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 fread 计算行数而不读取整个文件[重复] 的相关文章

  • R 监督潜在狄利克雷分配包

    我在用着这个LDA包 https cran r project org web packages lda 对于 R 具体来说 我正在尝试做监督潜在狄利克雷分配 slda https www cs princeton edu blei pap
  • 为什么 Laravel 中的 .env 文件配置不起作用

    DB CONNECTION mysql DB HOST 127 0 0 1 DB PORT 3306 DB DATABASE DB USERNAME root DB PASSWORD 这是我的 laravel 5 4 配置 但 php ar
  • ggplot2中的两列分组

    是否可以按两列分组 于是叉积就画出来了 经过geom point and geom smooth 例如 frame lt data frame series lt rep c a b 6 sample lt rep c glass wate
  • 挑战:优化取消列出[简单]

    因为 SO 最近有点慢 所以我发布了一个简单的问题 如果大鱼们能在这场比赛中留在替补席上并给新秀们一个回应的机会 我将不胜感激 有时我们的对象具有大量的大列表元素 向量 您如何将这个对象 取消列出 到单个向量中 证明你的方法比unlist
  • R闪亮:基于checkboxgroupinput的子集数据

    我想根据复选框输入动态选择的列对数据进行子集 有什么方法可以使我的输入文件在我的代码中全局可用 以便可以方便地进行进一步的操作 以下是我的代码 Server R library shiny shinyServer function inpu
  • 在 Cordova 中合并文件的多个部分

    在我的 Cordova 应用程序中 我正在下载任意文件 例如图像或视频文件 这是通过 Cordova 文件传输插件和 Range 标头完成的 因为我需要分段下载文件 我的问题是 我想将几 个小 字节 文件合并回原来的文件中 他们曾经在其中使
  • R:igraph、社区检测、edge. Betweenness 方法、统计/列出每个社区的成员?

    我有一个相对较大的图表 其中顶点 524 边 1125 是现实世界的交易 边是有向的并且具有权重 包含是可选的 我正在尝试调查图中的各个社区 并且本质上需要一种方法 计算所有可能的社区 计算最佳社区数量 返回每个 最佳 社区的成员 成员数量
  • 省略 RColorBrewer 调色板上较亮的颜色以在 ggplot2 中使用

    我想在 RColorBrewer 的 Oranges 调色板中使用较深的颜色 以便在我的 ggplot 条形图 中使用 然而我却做不到 帮助 下面是示例代码 my palette brewer pal n 9 Oranges 4 9 Bar
  • do.call 的 envir 选项如何工作?

    的文档do call states If quote is FALSE 默认值 然后对参数进行求值 在调用环境中 而不是在envir 这句话向我暗示 当quote FALSE 指定envir没有什么区别 然而 事实并非如此 事实上我遇到过需
  • 了解日期并使用 R 中的 ggplot2 绘制直方图

    主要问题 当尝试使用 ggplot2 制作直方图时 我无法理解为什么日期 标签和中断的处理无法像我在 R 中预期的那样工作 我在找 我的约会频率的直方图 刻度线位于匹配条下方的中心 日期标签在 Y b format 适当的限制 最小化网格空
  • pandoc 文档转换失败,错误 67

    我使用的是 R 3 3 2 和 Rstudio 版本 1 0 44 这是我的 RMarkdown 文件的格式 title Sentiment Analysis output rmdformats material highlight kat
  • 在 mutate pipeline 中按组获取唯一 ID [重复]

    这个问题在这里已经有答案了 自从新的 dplyr v1 0 0 更新发布以来 我注意到该功能group indices 有 已弃用 我在工作中经常使用这个功能 并且我喜欢在mutate 例如使用dplyr v0 8 3我能够非常轻松地做这样
  • 为什么我在 R 向量的类别中看到“整数”而不是“向量”

    为什么从数据框中切片的列的数据类型显示为 整数 而不是 向量 df lt data frame x 1 3 y c a b c x y 1 1 a 2 2 b 3 3 c c1 lt df 1 1 1 2 3 class c1 1 inte
  • 按值对 geom_bar ggplot2 中的条形重新排序

    我正在尝试制作一个条形图 其中的图是从miRNA与最高的value to the miRNA与最低的 为什么我的代码不起作用 gt head corr m miRNA variable value 1 mmu miR 532 3p pos
  • 根据 R 中的另一个变量过滤簇中的 id

    我有 100 名患者的数据 每个患者都有 7 天 1 到 7 的值 如何仅在第一天根据另一个变量选择患者 df lt data frame id c 1 1 1 2 2 2 day c 1 2 3 1 2 3 RRT c 0 1 0 1 0
  • 从数据帧创建 sf 多边形

    我有一个包含一组多边形坐标的数据框 这就是我将其转换为spatialPolygons 包sp 的方法 my df lt data frame Plot c A A A A A B B B B B Corner c SW NW NE SE S
  • 将“dplyr::across”与具有多个参数的函数一起使用

    我想知道是否有办法使用dplyr across一个需要多个参数的函数 如果没有 如何执行以下操作dplyr tidyverse library dplyr create a dataframe df lt structure list x1
  • R 语言 NaN + NA 行为

    我有一个关于 R 中算术行为的问题 看下面这段代码 gt NaN NA 1 NaN gt gt gt NaN as integer NA gt NA 所以 我很困惑这两个添加给出了不同的结果 有谁知道这是否是真正想要的行为还是只是某种错误
  • 使用 dplyr 创建 t.test 表?

    假设我有如下所示的数据 set seed 031915 myDF lt data frame Name rep c A B times c 10 10 Group rep c treatment control treatment cont
  • 将数据帧单列中的值向上移动

    使用这样的示例数据 example data frame x c 1 2 3 4 5 6 7 8 y c 1 2 3 4 5 6 7 8 z c 1 2 3 4 5 6 7 8 看起来像这样 x y z 1 1 1 1 2 2 2 2 3

随机推荐

  • 需要帮助使用 C++ 在 Linux 环境中的现有应用程序中生成击键

    我需要帮助在 LINUX 环境中的现有应用程序中生成击键 我完全知道 Dev C 中有一些库可以完全满足我的需求 但在 Windows 中 我需要在 Linux 中实现类似的功能 我用谷歌搜索了很多 但找不到任何解决方案 下面是 Dev C
  • .htaccess 重写 url 并删除 .php

    我想通过 htaccess 文件从 url 中删除 php 例如home php to home我在 htaccess 文件中使用以下重写规则 RewriteRule 1 php L 我还想重写网址 例如 detail php ca 38
  • C++为类成员函数分配一个lambda函数以提高计算效率[重复]

    这个问题在这里已经有答案了 更新 改写 我希望通过将类成员函数的运行时分配给以其他类成员为条件的许多函数之一来提高代码的计算效率 一种推荐的解决方案使用 include
  • 如何正确地将 Angular 2 (npm) 升级到最新版本?

    最近我开始了 Angular 2 教程https angular io docs ts latest tutorial 并停止了 Angular 2 beta 8 现在我恢复了教程 最新的测试版是测试版 14 如果我只是这样做npm 更新一
  • C# 中的 SafeFileHandle 是什么?何时应该使用它?

    当我还在学习 System IO 时 File Streamclass 的构造函数 我发现存在类型名为的重载构造函数SafeFileHandle 我尝试在互联网和MSDN文档上搜索 但我什么都看不懂 我发现even stranger这样的词
  • Android 小部件在 x 时间后更新

    我刚刚开始学习 Android 我正在尝试编写一个小部件 它每秒更新一次计数器 但在某个地方它缺少一些东西 我在屏幕上看到 1 我正在使用 Android 4 模拟器 package com ibluekey import java tex
  • 扩展 WP_List_Table / 处理插件管理中的复选框选项

    我正在开发一个 WordPress 插件 该插件的一部分需要扩展 WP List Table 并将该表中签入的任何项目存储到选项中 我已经设法弄清楚如何正确设置和显示所需的表格 但如何处理存储选中的选项 这是我到目前为止所得到的 class
  • 用于验证 dd-Mmm-yyyy 格式日期的正则表达式

    我有一个需要验证的文本输入框 用户应该只能输入 dd Mmm yyyy 格式的日期 例如 2013 年 6 月 1 日 2015 年 8 月 31 日等 或者他们应该能够输入 T 1 T 2 T 99 我可以使用什么样的正则表达式模式来验证
  • Cypher zip 集合

    如果我有两个集合 我如何将它们压缩在一起 with 1 2 3 as nums a b c as letters wat do return zipped a 1 b 2 c 3 可能无法动态分配映射键 例如 使用letters 但此查询将
  • 我可以在运行时以编程方式设置“android:layout_below”吗?

    创建时是否可以相对布局在运行时设置相当于android layout below以编程方式 Yes RelativeLayout LayoutParams params new RelativeLayout LayoutParams Vie
  • 如何在Python中从补丁中恢复3D图像?

    我有一个带有形状的 3D 图像DxHxW 我成功地将图像提取成补丁pdxphxpw 重叠的补丁 对于每个补丁 我都会进行一些处理 现在 我想从处理后的补丁生成图像 以便新图像必须与原始图像具有相同的形状 你能帮我做一下吗 这是我提取补丁的代
  • C# 编译器是否足够智能来优化这段代码?

    请忽略此问题中的代码可读性 从性能上来说 下面的代码是否应该这样写 int maxResults criteria MaxResults if maxResults gt 0 while accounts Count gt maxResul
  • 应用 tm 方法“stemCompletion”时一个变量的多个结果

    我有一个语料库 其中包含 3 个变量 ID 标题 摘要 的 15 个观察结果的期刊数据 我使用 R Studio 从 csv 文件中读取数据 每个观察一行 在执行一些文本挖掘操作时 我在使用 StemCompletion 方法时遇到了一些麻
  • 如何使用共享库运行 LLVM 解释器?

    I have mylib c具有某些功能的文件 我想使用我的这些功能 c文件作为已编译的 llvm 代码中的外部文件 我正在使用 LLVM 解释器 lli 4 0 我想知道我怎么知道lli使用我的函数 c file lli has a lo
  • 如何在delphi10中使用IdHTTP登录Instagram网站

    我正在尝试在 Delphi 中使用 idhttp 登录 Instagram 网站 我使用谷歌浏览器开发者工具来获取数据 这是我到目前为止所尝试过的 procedure TForm1 Button1Click Sender TObject v
  • 如何从数组中删除元素

    您好 我正在编写一些遗留代码 其内容类似于 for int i results Count 1 i gt 0 i if someCondition results Remove results i 对我来说 在仍然迭代循环的同时删除元素似乎
  • 如何从jslib插件Unity webgl调用外部javascript函数

    我现在正在开发一个 webgl 项目 我正在尝试从plugin jslib 调用index html 中的javascript 函数 我用谷歌搜索了一些方法 似乎它们不起作用 有没有正确且简单的方法来做到这一点 下面的代码是我尝试过的 索引
  • 我可以在函数(不是函数组件)内使用钩子吗

    这是我想使用我的钩子的地方 以便我可以在应用程序运行期间更改一种状态 export const simpleFunction gt state gt here is the hook 我知道反应钩子应该用在功能组件中 但是上面提到的情况又如
  • 为什么带着色器的粒子系统不起作用?三.js

    你好 有人可以帮我吗 我有这个着色器 它适用于 THREE Mesh 但不适用于 THREE Particle System 我希望每个粒子都有给定贴图 纹理 的一部分并相应地改变它们的位置 像这样http www chromeexperi
  • 使用 fread 计算行数而不读取整个文件[重复]

    这个问题在这里已经有答案了 我想使用 data table 来处理一个非常大的文件 它不符合记忆 我考虑过使用循环 适当增加跳过参数 来读取块上的文件 fread myfile csv skip loopindex nrows chunks