将txt文件读入元组
问题描述:
我如何循环包含如下值的文件,并将它们存储在元组中?
Hi,
How can I loop through a file containg values like the ones below, and stored them in a Tuple ?
1.1, 0.1836856, 5.6
3.3, -5.5, 43.44
-0.38162, 6.636666E-08, 3.1
1.01516E-07, 0.3695395, 1.5
>
谢谢
thank you
var reader = new StreamReader(File.OpenRead(@"C:\MyFile.txt"));
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
var val1 = decimal.Parse(values[0], System.Globalization.NumberStyles.Float);
var val2 = decimal.Parse(values[1], System.Globalization.NumberStyles.Float);
var val3 = values[2];
Tuple myTuple = Tuple.Create(val1,val2, val3);
}
答
检查:
Check this:
string sFile = @"D:\MyFile.txt";
string[] lines = File.ReadAllLines(sFile);
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");
var result = lines.Select
(
a=> Tuple.Create(
double.Parse(a.Split(new string[]{","}, StringSplitOptions.RemoveEmptyEntries)[0], culture),
double.Parse(a.Split(new string[]{","}, StringSplitOptions.RemoveEmptyEntries)[1], culture)
double.Parse(a.Split(new string[]{","}, StringSplitOptions.RemoveEmptyEntries)[2], culture)
)
)
.ToList();
返回列表<元组< double,double,double>>