gpt4 book ai didi

c# - 如何使用 Linq 将制表符分隔文件读入多维数组?

转载 作者:太空狗 更新时间:2023-10-30 01:33:52 24 4
gpt4 key购买 nike

对于以下制表符分隔文件,我尝试将其保存在 double[][] csvArray

cols 的数量是最终的 (5),但 rows 是动态的

1,717.72    1,728.89    1,712.61    1,728.89    1,707.11
1,701.19 1,704.11 1,702.05 1,706.98 1,697.19
1,685.41 1,688.68 1,694.07 1,695.71 1,687.20
1,641.05 1,649.27 1,658.06 1,658.58 1,648.09
1,673.69 1,668.34 1,663.90 1,673.42 1,662.16
1,682.32 1,669.54 1,671.33 1,681.02 1,668.81
1,688.12 1,681.44 1,684.90 1,688.57 1,672.60
1,686.02 1,690.76 1,697.13 1,698.13 1,690.35
1,704.92 1,696.22 1,696.74 1,701.17 1,688.74
1,686.78 1,683.61 1,677.03 1,687.88 1,674.40
1,705.94 1,704.90 1,715.58 1,716.91 1,700.25
1,659.22 1,660.46 1,658.69 1,664.98 1,655.62
1,622.31 1,621.94 1,632.78 1,633.61 1,613.91

除了对整个矩阵进行迭代之外,是否有一些 LINQ 表达式可以使它变得如此干净整洁?

最佳答案

Linq 的帮助下,您可以这样做:

using System.Globalization;

var csvArray = File
.ReadLines(@"C:\MyData.csv") // assuming that data is in the file
.Select(line => line
.Split('\t')
.Select(item => Double.Parse(item, CultureInfo.InvariantCulture))
.ToArray())
.ToArray();

请注意,当使用锯齿状数组(double[][])时,您无需知道确切的列数(在您的例子中为 5)

关于c# - 如何使用 Linq 将制表符分隔文件读入多维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32399475/

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