在C#中的数据集中读取由回车分隔的文本文件



我需要读取一个由回车分隔的文本文件,即每行都有一个新条目。

例如

101153,E006,"n"  
101153,E016,"n"  
101153,E026,"n"  
101153,E035,"n"  
101153,N006,"n"  
101153,N016,2  

如何读取数据集中的此类记录。?

这是我的代码片段:如何读取由netr分隔的文本文件

string[] dataFile = Directory.GetFiles(fullPath);
DataSet ds = new DataSet();
DataTable dt = ds.Tables.Add();
DataRow dr;
dt.Columns.Add("column1"); 
dt.Columns.Add("column2");
dt.Columns.Add("column3");
if (dataFile.Count() > 0)
{
    for (int x = 0; x < dataFile.Count(); x++)
    {       
        using (StreamReader sr = new StreamReader(dataFile[x]))
        {
            while (sr.Peek() != -1)
            {
                string[] fields;
                fields = sr.ReadLine().Split(',');
                if (fields.Count() == 3) // 3 columns
                {
                     dr = dt.NewDataRow();
                     dr["column1"] = fields[0];
                     dr["column2"] = fields[1];
                     dr["column3"] = fields[2];
                     dt.Rows.Add(dr);
                }
            }
        }
    }

}
ds.Tables.Add(dt);

参考:代码:一次读取一行文本文件(Visual C#)

要将其加载到数据集中,您必须完成以下步骤。

  1. 创建一个新的DataTable。然后为DataTable定义DataColumns

  2. 然后逐行读取文本文件,将行拆分并插入到DataTable中。可以使用String.Split方法按,分割线。

代码位于http://msdn.microsoft.com/en-us/library/system.data.datatable.aspx具有加载DataSet所需的一切帮助。

请参阅http://msdn.microsoft.com/en-us/library/vstudio/ezwyzy7b.aspx用于读取文件。

最新更新