-1

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

例如

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

我怎样才能在数据集中读取这些记录。?

4

2 回答 2

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);

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

于 2013-06-27T09:35:39.570 回答
0

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

  1. 创建一个新的DataTable. 然后DataColumnsDataTable.

  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

于 2013-06-27T09:40:43.607 回答