我需要读取一个由enter分隔的文本文件,即每行都有一个新条目。
e.g。
101153,E006,"\n"
101153,E016,"\n"
101153,E026,"\n"
101153,E035,"\n"
101153,N006,"\n"
101153,N016,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)
要将其加载到数据集中,您必须执行以下步骤。
创建新的DataTable
。然后为DataColumns
定义DataTable
。
然后逐行阅读文本文件并拆分该行并插入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。