{"id":43,"date":"2014-08-22T15:11:00","date_gmt":"2014-08-22T20:11:00","guid":{"rendered":"https:\/\/www.chrystalsander.com\/blog\/?p=43"},"modified":"2014-08-22T15:11:00","modified_gmt":"2014-08-22T20:11:00","slug":"net-create-datatable-from-csv-file","status":"publish","type":"post","link":"https:\/\/www.chrystalsander.com\/blog\/?p=43","title":{"rendered":"NET : Create DataTable From CSV File"},"content":{"rendered":"<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"color: #2b91af; font-family: Consolas; font-size: 9.5pt;\">DataTable<\/span><span style=\"font-family: Consolas; font-size: 9.5pt;\"> dt = <span style=\"color: blue;\">new<\/span><br \/>\n<span style=\"color: #2b91af;\">DataTable<\/span>();<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"color: blue; font-family: Consolas; font-size: 9.5pt;\">string<\/span><span style=\"font-family: Consolas; font-size: 9.5pt;\"> line = <span style=\"color: #2b91af;\">String<\/span>.Empty;<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"color: blue; font-family: Consolas; font-size: 9.5pt;\">int<\/span><span style=\"font-family: Consolas; font-size: 9.5pt;\"> i = 0;<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"color: blue; font-family: Consolas; font-size: 9.5pt;\">using<\/span><span style=\"font-family: Consolas; font-size: 9.5pt;\"> (<span style=\"color: #2b91af;\">StreamReader<\/span> sr = <span style=\"color: #2b91af;\">File<\/span>.OpenText(@path))<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">{<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">while<\/span> ((line = sr.ReadLine()) != <span style=\"color: blue;\">null<\/span>)<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp; {<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">string<\/span>[] data = line.Split(<span style=\"color: #a31515;\">&#8216;,&#8217;<\/span>);<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">if<\/span> (data.Length &gt; 0)<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">if<\/span> (i == 0)<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n<span style=\"color: blue;\">int<\/span> j = 0;<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n<span style=\"color: blue;\">foreach<\/span> (<span style=\"color: blue;\">var<\/span><br \/>\ns <span style=\"color: blue;\">in<\/span> data)<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n<span style=\"color: green;\">\/\/create column<\/span><o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\ndt.Columns.Add(<span style=\"color: blue;\">new<\/span> <span style=\"color: #2b91af;\">DataColumn<\/span>());<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n<span style=\"color: green;\">\/\/add column name from first row<\/span><o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\ndt.Columns[j].ColumnName = data[j].ToString();<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\nj++;<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n}<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\ni++;<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">if<\/span> (i &gt; 1)<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n<span style=\"color: green;\">\/\/if not first row (column name) then create<br \/>\ndata row<\/span><o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n<span style=\"color: #2b91af;\">DataRow<\/span> row = dt.NewRow();<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\nrow.ItemArray = data;<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;dt.Rows.Add(row);<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\ni++;<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">&nbsp;&nbsp;&nbsp; }<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"font-family: Consolas; font-size: 9.5pt;\">}<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;\">\n<span style=\"color: blue; font-family: Consolas; font-size: 9.5pt;\">return<\/span><span style=\"font-family: Consolas; font-size: 9.5pt;\"> dt;<o:p><\/o:p><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt; text-indent: 0.5in;\">\n<\/div>\n<div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>DataTable dt = new DataTable(); string line = String.Empty; int i = 0; using (StreamReader sr = File.OpenText(@path)) { &nbsp;&nbsp;&nbsp; while ((line = sr.ReadLine()) != null) &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string[] data = line.Split(&#8216;,&#8217;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (data.Length &gt; 0) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (i == 0) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int j = 0; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (var &hellip; <a href=\"https:\/\/www.chrystalsander.com\/blog\/?p=43\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;NET : Create DataTable From CSV File&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/43"}],"collection":[{"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=43"}],"version-history":[{"count":0,"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/43\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}