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内容为

程序运行结果

追问

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

温馨提示:内容为网友见解,仅供参考
无其他回答

c#窗体怎么读取txt文件?
txtFileContent.Text = fileContent; \/\/ 将文件内容显示在文本框中 } } catch (Exception ex){ MessageBox.Show("读取文件时出现错误:" + ex.Message);} } } } } 在上述代码中,我们使用了 OpenFileDialog 对象来打开文件选择对话框,让用户选择要读取的文本文件。然后,我们通过 StreamReader 对...

如何在C#中使用FileStream操作文本文件并读取内容?
在C#中,我们使用Filestream来操作文件。首先,我们定义一个名为Test的类,它包含一个Main方法,用于执行文件操作。在Main方法中,我们检查文件"C:\\temp\\MyTest.txt"是否存在,如果存在,就删除它。接着,我们创建一个新的FileStream对象并使用File.Create方法,以便向文件中写入文本。我们连续调用AddText方...

C#读取txt文本文件中的数据
1、首先先来看一下准备的txt文本文件的内容。2、然后在程序中引入操作文件的命名空间System.IO。3、接下来需要定义一个变量,存储文件所在的路径。4、然后先读取文本内容,调用File类的ReadAllLines即可读取所有内容。5、接下来是写入内容,按照下图的方式,准备要写入的内容。6、准备好内容以后,调用File的...

C#怎么分行读取Txt文件的数据
(1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出。 byte[] byData = new byte[100]; char[] charData = new char[1000]; public void Read() { try { FileStream file = new FileStream("E:\\\\test.txt", FileMode.Open); file.Seek(0, SeekOrigin.Begin); file.Read(byData, 0...

C#里面如何将.txt文件中的数据读入,存入数组
System.IO.TextReader reader = new System.IO.StreamReader(filePath);使用 reader.ReadLine()或reader.ReadToEnd()获取字符串,按照你的需要存入数组即可

C#中如何逐行读取txt中的数据并赋值到一维数组中。
(1)文本文件中的数据按行存放,每行一个数据,数据的数量不定,可多可少。从文本文件中读入的数据并转换后,先存放泛型集合List<T>,最后再将List<T>转换成一维数组。(2)实现代码:文本文件 D:\\data.txt 中存放的数据为浮点类型,每行一个数据 using System;using System.Collections.Generic;...

c#如何实现读取TXT文件?里面存的是二进制数据,打开以后是这样的“耏...
我不太清楚你到底想读取文本文件,还是二进制文件。两种代码如下:C# 读取txt文件 System.IO.StreamReader sr = new System.IO.StreamReader("d:\\\\aaa.txt");while (!sr.EndOfStream){ string sline = sr.ReadLine();System.Console.WriteLine(sline);} c#读取二进制文件 System.IO.FileStream fs...

C#怎么读取TXT文件内容(有乱码)?
如果是TXT文件,把这个TXT文件另存为,然后在选择编码方式为 unicode .默认的是ANST,这种编码方式.

c# 读取txt文件中特定内容后的数据
1.fopen的函数原型:FILE * fopen(const char * path,const char * mode); fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:r 以只读方式打开文件,该文件必须存在。r+ 以可读写方式打开文件,该文件必须存在。rb+ 读写打开一个二进制文件,允许读数据。rw+ 读写打开...

C#读取txt文件 从指定位置开始读取指定长度的字符 并赋值给一个字符串...
流程应该是:先打开文件,然后 Seek到指定位置,然后读出指定位置的数据 如果还想快一点,考虑用内存映射的方式(猜,没试过)至于前面提到的 ReadAllText ,是将数据全部读入内存,在处理,基本不符合你的要求

相似回答