C#如何读取txt文本数据?

数据以空格隔开,且空格数量不等

如何将其中数据导入DataTable?
跳过前两行*开头的,后面还有其他字符

下面的控制台应用程序实现要求的功能

using System;
using System.IO;
using System.Data;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // 新建一个DataTable
            DataTable tb = new DataTable();
            // 添加一列用于存放读入的浮点数
            DataColumn c= tb.Columns.Add("Value", typeof(double));

            // 打开文件准备读取数据   
            StreamReader rd = File.OpenText(@"d:\data.txt");
            string line;
            // 循环读出文件的每一行
            while ((line = rd.ReadLine()) != null)
            {
                // 拆分出一行的所有用空格分割的数据项
                string[] values = line.Split(' ');
                // 将每个数据项转换成浮点数,并存入DataTable
                foreach (string s in values)
                {
                    if (!string.IsNullOrEmpty(s))
                    {
                        // 转换成浮点数
                        double v = double.Parse(s);
                        // 存入DataTable
                        DataRow r = tb.NewRow();
                        r["Value"] = v;
                        tb.Rows.Add(r);
                    }
                }
            }
            rd.Close();
             //输出DataTable中保存的数组
            foreach (DataRow r in tb.Rows)
            {
                Console.WriteLine(r["Value"]);
            }
        }
    }
}

D:\Data.Txt内容为

程序运行结果

追问

非常感谢!
不过这每一列数字都不一样啊,期望的显示效果不是这样的

温馨提示:答案为网友推荐,仅供参考
相似回答