c# - 如何将文本文件读取到DataTable

标签 c# datatable

<分区>

我想从一个 txt 文件中提取数据并将其放入一个数据表中。 txt文件中的内容格式如下:

sometext1:sometext2:sometext3
sometext4:sometext5:sometext6
sometext7:sometext8:sometext9
...

每一行代表一行,每一列用“:”字符分隔。

我试过这样做:

            DataTable tbl = new DataTable();

            using (StreamWriter sw = File.CreateText(path))
            {
                string[] rows = content.Split('\n');
                foreach (string s in rows)
                {
                    string[] columns = s.Split(':');
                    foreach (string t in columns)
                    {
                        sw.WriteLine(t);
                    }

                }
            }

如何读取该文件并将其添加到 DataTable 中?

最佳答案

这是完成工作的简单方法

public DataTable ConvertToDataTable (string filePath, int numberOfColumns)
{
    DataTable tbl = new DataTable();

    for(int col =0; col < numberOfColumns; col++)
        tbl.Columns.Add(new DataColumn("Column" + (col+1).ToString()));


    string[] lines = System.IO.File.ReadAllLines(filePath);

    foreach(string line in lines)
    {
        var cols = line.Split(':');

        DataRow dr = tbl.NewRow();
        for(int cIndex=0; cIndex < 3; cIndex++)
        {
           dr[cIndex] = cols[cIndex];
        }

        tbl.Rows.Add(dr);
    }

    return tbl;
}

关于c# - 如何将文本文件读取到DataTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20860101/

相关文章:

javascript - 如何获取小部件实例 pf p :dataTable in js or JQuery

jquery - 如何在asp.net中使用JSON和JQuery从WebMethod返回DataTable?

c# - 如何阻止 GridView 中的特定列

php - 数据表过滤器显示重复行

C# DataTable,通过行/列索引获取值

jquery - 数据表与 require-jquery.js 冲突

c# - Azure/图像请求 502(错误网关)错误 - 间歇性

c# - 如何捕获(并希望修复)GDI 资源泄漏

c# - 如何获取 PPID

c# - 如何在 C# 中获取另一个网站页面的 JavaScript 函数的结果?