//--------------------------------------------- public static string[] GetHeaders(string filename, CsvDelimiter delimiter) { TextReader textReader = null; String textHeader; try { textReader = new StreamReader(filename, Encoding.Default); textHeader = textReader.ReadLine(); } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); textHeader = String.Empty; throw; } finally { if (textReader != null) { textReader.Close(); textReader.Dispose(); } } while (textHeader.IndexOf('"') >= 0) { textHeader = textHeader.Remove(textHeader.IndexOf('"'), 1); } return textHeader.Split((char)delimiter); }
public ICollection <T> Read(Stream stream) { var reader = new StreamReader(stream); bool skipFirstLine = UseSingleLineHeaderInCsv; var list = new List <T>(); while (!reader.EndOfStream) { var line = reader.ReadLine(); var values = line.Split(CsvDelimiter.ToCharArray()); if (skipFirstLine) { skipFirstLine = false; } else { var item = (T)Activator.CreateInstance(typeof(T)); for (int i = 0; i < values.Length; i++) { var property = item.GetType().GetProperty(Schema.Properties[i].Name); property.SetValue(item, Convert.ChangeType(values[i], property.PropertyType), null); } list.Add(item); } } return(list); }
//--------------------------------------------- public static string[] GetHeaders(string filename, CsvDelimiter delimiter) { TextReader textReader = null; String textHeader; try { textReader = new StreamReader(filename, Encoding.Default); textHeader = textReader.ReadLine(); } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); textHeader = String.Empty; throw; } finally { if (textReader != null) { textReader.Close(); textReader.Dispose(); } } while (textHeader.IndexOf('"') >= 0) { textHeader = textHeader.Remove(textHeader.IndexOf('"'), 1); } return(textHeader.Split((char)delimiter)); }
/// <summary> /// Configures Metrics.Log4Net to use custom CSV delimiter /// </summary> /// <param name="configuration"></param> /// <param name="csvDelimiter">CSV delimiter, such as , or ;</param> public static MetricsLog4NetConfiguration WithCustomCsvDelimiter(this MetricsLog4NetConfiguration configuration, string csvDelimiter) { if (csvDelimiter == null) { throw new ArgumentNullException("csvDelimiter"); } CsvDelimiter.SetDelimiter(csvDelimiter); return(configuration); }
public static CsvDelimiter DetectFieldDelimiterChar(string headerLine) { int maxCount = 0; int curCount = 0; CsvDelimiter maxDelimiter = CsvDelimiter.Comma; foreach (CsvDelimiter delimiter in Enum.GetValues(typeof(CsvDelimiter))) { curCount = headerLine.Split((char)delimiter).Length; if (curCount > maxCount) { maxCount = curCount; maxDelimiter = delimiter; } } return(maxDelimiter); }
public static DataTable Parse(TextReader stream, CsvHeadersAction Headers, CsvDelimiter delimiter) { return Parse(stream, Headers, (char)delimiter); }
//By Filename public static DataTable Parse(string filename, Encoding encoding, bool headers, CsvDelimiter delimiter) { return Parse(new StreamReader(filename, encoding), headers, (char)delimiter); }
/// <summary> /// Configures Metrics.Log4Net to use CSV delimiter defined in <see cref="TextInfo.ListSeparator"/> /// </summary> public static MetricsLog4NetConfiguration WithRegionalCsvDelimiter(this MetricsLog4NetConfiguration configuration) { CsvDelimiter.SetDelimiter(CultureInfo.CurrentCulture.TextInfo.ListSeparator); return(configuration); }
public static DataTable Parse(TextReader stream, CsvHeadersAction Headers, CsvDelimiter delimiter) { return(Parse(stream, Headers, (char)delimiter)); }
//By Filename public static DataTable Parse(string filename, Encoding encoding, bool headers, CsvDelimiter delimiter) { return(Parse(new StreamReader(filename, encoding), headers, (char)delimiter)); }