Ejemplo n.º 1
0
        public LineOfInputData ExtractValueFromLine(string inputLine)
        {
            var data = new LineOfInputData();


            var lineData   = inputLine.Split(',').ToList();
            var count      = 0;
            var yearNumber = 1960;//the starting year in the sample

            for (var i = 0; i < lineData.Count; i++)
            {
                lineData[i] = lineData[i].Trim();
                if (i < lineData.Count - 2)
                {                                                                                                      //if you have a middle "
                    if (lineData[i].Length > 0 && lineData[i][0] == '"' && lineData[i][lineData[i].Length - 1] != '"') //this means the string belongs together with the next
                    {
                        lineData[i + 1] = lineData[i] + lineData[i + 1];
                        continue;
                    }
                }
                switch (count)
                {
                case 0: data.CountryName = lineData[i];
                    break;

                case 1: data.CountryCode = lineData[i];
                    break; //number 2 is inicator name, in which we are not interested, as we use the indicator code column

                case 2:    //indicator name, we use the code
                    break;

                case 3: data.IndicatorCode = lineData[i];
                    break;

                default:
                    double parsedValue = 0;
                    if (Double.TryParse(lineData[i], out parsedValue))
                    {
                        data.YearValues.Add(yearNumber, parsedValue);
                    }
                    yearNumber++;
                    break;
                }
                count++;
            }
            return(data);
        }
Ejemplo n.º 2
0
        public LineOfInputData ExtractValueFromLine(string inputLine)
        {
            var data = new LineOfInputData();


            var lineData = inputLine.Split(',').ToList();
            var count = 0;
            var yearNumber = 1960;//the starting year in the sample
            for (var i = 0; i < lineData.Count; i++)
            {
                lineData[i] = lineData[i].Trim();
                if (i < lineData.Count - 2)
                {//if you have a middle "
                    if (lineData[i].Length > 0 && lineData[i][0] == '"' && lineData[i][lineData[i].Length - 1] != '"')//this means the string belongs together with the next
                    {
                        lineData[i + 1] = lineData[i] + lineData[i + 1];
                        continue;
                    }
                }
                switch (count)
                {
                    case 0: data.CountryName = lineData[i];
                        break;
                    case 1: data.CountryCode = lineData[i];
                        break;//number 2 is inicator name, in which we are not interested, as we use the indicator code column
                    case 2://indicator name, we use the code
                        break;
                    case 3: data.IndicatorCode = lineData[i];
                        break;
                    default:
                        double parsedValue = 0;
                        if (Double.TryParse(lineData[i], out parsedValue))
                        {
                            data.YearValues.Add(yearNumber, parsedValue);
                        }
                        yearNumber++;
                        break;
                }
                count++;
            }
            return data;
        }