通过在C#中输入数据集来读取分隔的文本文件

时间:2013-06-27 09:20:51

标签: c# string dataset

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

e.g。

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

如何在数据集中阅读这些记录。?

2 个答案:

答案 0 :(得分:5)

这是我的代码段:如何读取由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);

参考: Code: Reading a Text File One Line at a Time (Visual C#)

答案 1 :(得分:0)

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

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

  2. 然后逐行阅读文本文件并拆分该行并插入DataTable。您可以使用String.Split方法将行拆分为,

  3. http://msdn.microsoft.com/en-us/library/system.data.datatable.aspx处的代码包含了加载DataSet所需的一切信息。

    有关阅读文件的信息,请参阅http://msdn.microsoft.com/en-us/library/vstudio/ezwyzy7b.aspx