Example #1
0
        public static string  ProcessCSVFile(string csvFileData, bool isFirstRowHeader, IDictionary <string, string> metaData)
        {
            string jsonString = "[";

            var dataTable = CSVReader.ReadCSVData(csvFileData, isFirstRowHeader);

            bool   isFirstLine    = true;
            string metaDataString = CreateMetaDataString(metaData);

            foreach (DataRow row in dataTable.Rows)
            {
                int i = 0;
                if (isFirstLine == true)
                {
                    jsonString  = jsonString + "{";
                    isFirstLine = false;
                }
                else
                {
                    jsonString = jsonString + ",{";
                }
                bool isFirstValueLine = true;
                foreach (DataColumn column in dataTable.Columns)
                {
                    if (isFirstRowHeader == true)
                    {
                        string rowValue            = row[column.ColumnName].ToString();
                        bool   checkNumberBoolDate = CheckNumberBoolDateTime(rowValue);

                        if (checkNumberBoolDate)
                        {
                            if (isFirstValueLine == true)
                            {
                                jsonString       = jsonString + "\"TriggerTimeStamp\":\"" + DateTime.Now.ToString() + "\",";
                                jsonString       = jsonString + metaDataString + ",";
                                jsonString       = jsonString + "\"" + column.ColumnName + "\":" + "\"" + rowValue.Trim() + "\"";
                                isFirstValueLine = false;
                            }
                            else
                            {
                                jsonString       = jsonString + ",\"" + column.ColumnName + "\":" + "\"" + rowValue.Trim() + "\"";
                                isFirstValueLine = false;
                            }
                        }
                        else
                        {
                            if (isFirstValueLine == true)
                            {
                                jsonString       = jsonString + "\"TriggerTimeStamp\":\"" + DateTime.Now.ToString() + "\",";
                                jsonString       = jsonString + metaDataString + ",";
                                jsonString       = jsonString + "\"" + column.ColumnName + "\":" + "\"" + rowValue.Trim() + "\"";
                                isFirstValueLine = false;
                            }
                            else
                            {
                                jsonString       = jsonString + ",\"" + column.ColumnName + "\":" + "\"" + rowValue.Trim() + "\"";
                                isFirstValueLine = false;
                            }
                        }
                    }
                    else
                    {
                        string rowValue            = row[i].ToString();
                        bool   checkNumberBoolDate = CheckNumberBoolDateTime(rowValue.Trim());
                        if (checkNumberBoolDate)
                        {
                            if (isFirstValueLine == true)
                            {
                                jsonString       = jsonString + "\"TriggerTimeStamp\":\"" + DateTime.Now.ToString() + "\",";
                                jsonString       = jsonString + metaDataString + ",";
                                jsonString       = jsonString + "\"" + "key" + i + "\":" + rowValue.Trim();
                                isFirstValueLine = false;
                            }
                            else
                            {
                                jsonString       = jsonString + ",\"" + "key" + i + "\":" + rowValue.Trim();
                                isFirstValueLine = false;
                            }
                        }
                        else
                        {
                            if (isFirstValueLine == true)
                            {
                                jsonString       = jsonString + "\"TriggerTimeStamp\":\"" + DateTime.Now.ToString() + "\",";
                                jsonString       = jsonString + metaDataString + ",";
                                jsonString       = jsonString + "\"" + "key" + i + "\":" + "\"" + rowValue.Trim() + "\"";
                                isFirstValueLine = false;
                            }
                            else
                            {
                                jsonString       = jsonString + ",\"" + "key" + i + "\":" + "\"" + rowValue.Trim() + "\"";
                                isFirstValueLine = false;
                            }
                        }
                    }
                    i++;
                }
                jsonString = jsonString + "}";
            }

            //var reader = new StreamReader(File.OpenRead(@"C:\Users\shg\PCBackup_29thAugust2014\Work\Beckman\SampleDocuments\AU680_Sample CSV files\PLCode.csv"));

            jsonString = jsonString + "]";
            Newtonsoft.Json.JsonSerializerSettings settings = new Newtonsoft.Json.JsonSerializerSettings();
            settings.StringEscapeHandling = Newtonsoft.Json.StringEscapeHandling.EscapeHtml;
            var    jsonObj             = Newtonsoft.Json.JsonConvert.SerializeObject(jsonString);
            string JsonFormattedString = Newtonsoft.Json.JsonConvert.DeserializeObject <string>(jsonObj, settings);

            return(JsonFormattedString);
        }
Example #2
0
 /// <summary>
 /// Convert a CSV-formatted string into a DataTable
 /// </summary>
 /// <param name="headerRow">True if the first row contains headers</param>
 /// <returns>System.Data.DataTable that contains the CSV data</returns>
 public static DataTable ReadCSVTable(this string input, bool headerRow)
 {
     using (CSVReader reader = new CSVReader(input))
         return(reader.CreateDataTable(headerRow));
 }
Example #3
0
 public static DataTable ReadCSVData(string csvData, bool headerRow)
 {
     using (CSVReader reader = new CSVReader(csvData: csvData))
         return(reader.CreateDataTable(headerRow));
 }
Example #4
0
 /// <summary>
 /// Convert a CSV-formatted string into a list of objects
 /// </summary>
 /// <returns>List of objects that contains the CSV data</returns>
 public static List <object> ReadCSVLine(this string input)
 {
     using (CSVReader reader = new CSVReader(input))
         return(reader.ReadRow());
 }
Example #5
0
 /// <summary>
 /// Read a CSV file into a table
 /// </summary>
 /// <param name="filename">Filename of CSV file</param>
 /// <param name="headerRow">True if the first row contains column names</param>
 /// <returns>System.Data.DataTable object that contains the CSV data</returns>
 public static DataTable ReadCSVFile(string filename, bool headerRow)
 {
     using (CSVReader reader = new CSVReader(new FileInfo(filename)))
         return(reader.CreateDataTable(headerRow));
 }