用于将分隔文件读入DataTable的高效function
我想知道是否有人知道有效的c#函数用于将制表符分隔文件读入数据表?
谢谢
这当前使用LINQ方法.First()
和.Skip()
都很容易重新创建,如果你需要在.Net 2.0上使用它
//even cooler as an extension method static IEnumerable ReadAsLines(string filename) { using (var reader = new StreamReader(filename)) while (!reader.EndOfStream) yield return reader.ReadLine(); } static void Main() { var filename = "tabfile.txt"; var reader = ReadAsLines(filename); var data = new DataTable(); //this assume the first record is filled with the column names var headers = reader.First().Split('t'); foreach (var header in headers) data.Columns.Add(header); var records = reader.Skip(1); foreach (var record in records) data.Rows.Add(record.Split('t')); }
public System.Data.DataTable GetDataTable(string strFileName) { System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source = " + System.IO.Path.GetDirectoryName(strFileName) + ";Extended Properties = "Text;HDR=YES;FMT=TabDelimited""); conn.Open(); string strQuery = "SELECT * FROM [" + System.IO.Path.GetFileName(strFileName) + "]"; System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(strQuery, conn); System.Data.DataSet ds = new System.Data.DataSet("CSV File"); adapter.Fill(ds); conn.Close(); return ds.Tables[0]; }
这是一种方法……
上述就是C#学习教程:用于将分隔文件读入DataTable的高效function分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
var dt = new DataTable(); dt.Columns.Add(new DataColumn("Column1", typeof(string))); dt.Columns.Add(new DataColumn("Column2", typeof(string))); dt.Columns.Add(new DataColumn("Column3", typeof(string))); var lines = File.ReadAllLines(@"c:tabfile.txt"); foreach( string line in lines ) dt.Rows.Add(line.Split('t'));
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1014248.html