首页 > 编程语言 > 详细

C# 实现txt文本数据转换为array二维数组方法

时间:2019-04-17 14:44:29      阅读:394      评论:0      收藏:0      [点我收藏+]
public double[,] ReadTxttest(string Path)
{
//初始化二维数组
double[,] array = new double[30000,25];
int i = 0;
// 新建一个DataTable
DataTable tb = new DataTable();
// 添加一列用于存放读入的浮点数
DataColumn c = tb.Columns.Add("Value", typeof(double));

// 打开文件准备读取数据
StreamReader rd = File.OpenText(@Path);
string line;
while ((line = rd.ReadLine()) != null)
{
// 拆分出一行的所有用空格分割的数据项
string[] values = line.Split( );
//values为每行数据切割后的数组
// 将每个数据项转换成浮点数,并存入DataTable
foreach (string s in values) //s为行内元素
{
if (!string.IsNullOrEmpty(s))
{
// 转换成浮点数
double v = double.Parse(s);
// 存入DataTable
DataRow r = tb.NewRow();
r["Value"] = v;
tb.Rows.Add(v);

}

}
//计算每行的数据量
Console.WriteLine(tb.Rows.Count);

 

int j = 0; // 列数
//输出DataTable中保存的数组
foreach (DataRow r in tb.Rows)
{
var k = (double)r["Value"];//获取行内元素
if (!string.IsNullOrEmpty(k.ToString()))
{
array[i, j] = k;
Console.WriteLine(i.ToString() +"--" +j.ToString() + "--" + k.ToString());
}
else
{
array[i, j] = 1.23456;
}


j = j + 1;
}
// Console.WriteLine("行数是:" + tb.Rows.Count);

//清除每行数据
tb.Rows.Clear();
i = i + 1;
}

rd.Close();//读取数据完毕,关闭文件
return (array);
}

 

C# 实现txt文本数据转换为array二维数组方法

原文:https://www.cnblogs.com/heiheige/p/10723366.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!