使用 LINQ 读取 Csv

2024-01-03

我有一个像这样的 csv 文件

A, 22, 23, 12
B, 32, 4, 33
C, 34, 3 ,33

我想打印每行的总和和平均值并跳过第一列。如何在 LINQ 中使用 Lambda 进行操作


var stuff = from l in File.ReadAllLines(filename)
            let x = l.Split(new [] {',', ' '}, StringSplitOptions.RemoveEmptyEntries)
                     .Skip(1)
                     .Select(s => int.Parse(s))
            select new
            {
                Sum = x.Sum(),
                Average = x.Average()
            };

如果您正在读取大文件并且内存使用是一个问题,那么使用 .NET 4 可以更好地执行以下操作:

var stuff = from l in File.ReadLines(filename)
            let x = l.Split(new [] {',', ' '}, StringSplitOptions.RemoveEmptyEntries)
                     .Skip(1)
                     .Select(s => int.Parse(s))
            select new
            {
                Sum = x.Sum(),
                Average = x.Average()
            };

在这两种情况下,stuff变量包含一个枚举,在您开始读取它之前,该枚举实际上不会被执行(例如在foreach loop).

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

使用 LINQ 读取 Csv 的相关文章

随机推荐

  • Python 中是否有用于纯文本文件的本机模板系统?

    我正在寻找用于将输出格式化为简单文本的 Python 技术或模板系统 我需要的是它将能够迭代多个列表或字典 如果我能够将模板定义到单独的文件 如output templ 中而不是将其硬编码到源代码中 那就太好了 作为我想要实现的简单示例 我
  • 如何从9GAG获取数据json

    也许你认为这是一个愚蠢的问题 但我希望你能给我一些建议 我的问题 当我查看 9gag com 的源代码时 我意识到他们有一些行代码来加载更多内容 div class loading a class btn badge load more p
  • PyYAML 中的数组没有缩进或空格

    在下面的代码中我创建了net plan dict变量字典并将其转换为YAML格式文件 在字典里我有一个叫做addresses这是一个由三个元素组成的数组 创建YAML文件后 这三个数组元素没有放置在addresses field impor
  • JPA针对不同数据库的不同列类型

    是否可以根据使用的数据库使用 JPA 定义不同的列类型 我需要将 id 存储为 uuid 并且它必须是可移植的 那就是问题所在 PostgreSQL有 uuid MSSQL有 uniqueidentifier 而Oracle什么都没有 我想
  • android中textview的圆角

    我有一个文本视图 希望它的角是圆形的 我已经知道可以使用android background drawable somefile 就我而言 该标签已包含在内 因此无法再次使用 例如android background drawable my
  • Rails 更改 form_for 中提交的路由

    我有一个模型 文章 和一个嵌套在文章中的模型 评级 文章 123 评级 我想更改 ratings form html erb 中 f submit 的路由 现在是这样 按提交后 我的申请路由到 评分 111 但我想将其路由到 文章 123
  • WCF 服务应该返回 EntityObject 还是 POCO/DTO 类?

    我一直在查看很多使用 EntityFramework 的 WCF 示例 其中大多数似乎都会向客户端返回某种 POCO 或 DTO 类 我想知道为什么这是默认的EntityObject包括 DataContract 属性和工具INotifyP
  • Angula2 Karma 无法加载“webpack”!

    我已经在 Angular2 项目 Webpack Karma 上工作了几个月 该项目基于此入门程序的稍旧版本 https github com preboot angular2 webpack https github com preboo
  • 带注入的定制 Serilog 水槽?

    我创建了一个简单的 Serilog 接收器项目 如下所示 namespace MyApp Cloud Serilog MQSink public class MessageQueueSink ILogEventSink private re
  • 无法使用@Value在Spring应用程序中获取maven project.version属性

    如何使用 Value注释在Spring Boot应用程序中获取maven project version属性 经过一些关于如何在 SpringBoot 应用程序中获取 Maven 项目版本的研究和试验后 我找不到任何适合我的东西 由于类加载
  • 为 Goldschmidt 部门挑选良好的初步估计

    我正在计算 Q22 10 中的定点倒数戈德施密特师 http en wikipedia org wiki Division digital Goldschmidt division用于我的 ARM 上的软件光栅器 只需将分子设置为 1 即可
  • 实体 .ToList() 生成 System.OutOfMemoryException

    我有一个包含 50 万行的表 我需要更新每一行 但 ToList 失败 List
  • 数组访问可以优化吗?

    也许我被我的分析器 Netbeans 误导了 但我看到了一些奇怪的行为 希望这里有人可以帮助我理解它 我正在开发一个应用程序 它大量使用相当大的哈希表 键是长整型 值是对象 内置的 java 哈希表 特别是 HashMap 的性能非常差 在
  • SonarQube 临时磁盘空间

    我发现 SonarQube 正在使用lot其临时目录中的磁盘空间 是否有某种定期运行的清理程序来清除它 opt codehaus releases sonarqube sonarqube 5 1 temp 29 7GiB tmp
  • UIViewController调用对方的delegate

    我有两个 UIViewController 每个都有它的委托 并且正在调用其中一个 一个类称为 TopicViewController 另一个类称为 MentionViewController 代码如下所示 import
  • JavaScript 中比较 null 与 undefined 的速度

    我刚刚运行了一个非常简单的 JavaScript性能测试 http jsperf com js coerce null 不要问为什么 该测试声明了一个变量 但没有为其分配任何内容 var x 然后它比较比较值变量的速度null 并undef
  • Rails 3 / Devise:不再创建密码盐?

    我已经在一个项目上工作了一段时间 该项目使用 Devise 进行用户身份验证 每当创建用户时 它都会为他们生成密码盐及其加密密码 当我进入这个项目的尾声时 我正在测试用户注册 并注意到我的新角色没有在数据库中为这些新用户创建密码盐 而我的旧
  • 如何在Java中更改HTML标签内容?

    如何更改Java中标签的HTML内容 例如 before div text div text div text div after div text div new text div text div 我尝试过 JTidy 但不支持getT
  • 将数组格式的字符串转换为javascript数组[重复]

    这个问题在这里已经有答案了 我有一个这种格式的字符串 A B C 我想将它转换为数组 A B C 我尝试使用JSON parse 但它不起作用 任何帮助 将不胜感激 const strArray A B C const parsedStri
  • 使用 LINQ 读取 Csv

    我有一个像这样的 csv 文件 A 22 23 12 B 32 4 33 C 34 3 33 我想打印每行的总和和平均值并跳过第一列 如何在 LINQ 中使用 Lambda 进行操作 var stuff from l in File Rea