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
Post a Comment