gpt4 book ai didi

c# - 使用 LINQ 读取 Csv

转载 作者:IT王子 更新时间:2023-10-29 04:23:01 25 4
gpt4 key购买 nike

我有一个像这样的 csv 文件

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

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

最佳答案

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 循环中)。

关于c# - 使用 LINQ 读取 Csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5116604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com