c# 4.0 - Ignoring empty fields in a CSV using LINQ -


i have csv looks like:

column1,column2,column3,column4,column5,column6,column7,column7,column8,column9, 45.50334645,5640192,3915776,52633600,351924224,12354,90505216,78790656,247287808,  39.23091283,5640192,3915776,52633600,349986816,4562,90505216,78790656,247287808,  25.26042,5640192,3915776,52633600,349986816,   ,90505216,78790656,247287808, 

i need min, max, , average each column. using linq since csv's can quite large.

here current code have.

var lines = system.io.file.readalllines(csvpath); var columns = lines[0].split(','); (int = 1; < columns.count(); i++) {     var columnquery = line in lines                         let elements = line.split(',')                         select convert.todouble(elements[i]);      var results = columnquery.tolist();     var min = results.min();     var max = results.max();     var avg = results.average(); } 

this error out on highlighted value in csv since considered datetime.

the error "input string not in correct format."

thanks help.

you can use ternary operator:

var columnquery = line in lines                   let elements = line.split(',')                   select string.isnullorwhitespace(elements[i]) ? 0. : convert.todouble(elements[i]); 

Comments

Popular posts from this blog

java - How to specify maven bin in eclipse maven plugin? -

single sign on - Logging into Plone site with credentials passed through HTTP -

php - Why does AJAX not process login form? -