Exemple #1
0
        public void ReadThrowsAssertExceptionIfAllowMismatchFalseAndLinesContainMismatch()
        {
            // Make reader tolerant

            string content =
                @"aaa,bbb,ccc,ddd
111,111,111,111
222,222,222
333,333,333,333";

            var textReader      = new StringReader(content);
            MutableDataTable dt = Reader.Read(textReader);

            var s = dt.SaveToString();

            // Round-trip
            // - Extra comma at row with missing value.
            // - newline after all rows, even the last one
            Assert.Equal(
                @"aaa,bbb,ccc,ddd
111,111,111,111
222,222,222,
333,333,333,333
", s);
        }
Exemple #2
0
        // removes rows with empty data
        public static string CleanByRows(string filename, params string[] ignorecolumns)
        {
            MutableDataTable dt = DataAccess.DataTable.New.ReadCsv(filename);
            var xx = dt.ColumnNames
                     .Select((_, i) => { return(ignorecolumns.Contains(_) ? (int?)i : null); })
                     .Where(cv => cv != null);

            dt.KeepRows((_) =>
            {
                return(_.Values.Select((__, j) => __ != "" || xx.Contains(j)).All(g => g));
            });

            return(dt.SaveToString());
        }
Exemple #3
0
        // removes columns with empty data
        public static string CleanByColumns(string filename, params string[] ignoreproperties)
        {
            MutableDataTable dt = DataAccess.DataTable.New.ReadCsv(filename);

            var colsdlt = dt.Columns.Select(col =>
            {
                var v = col.Values.Any(_ => _ == "");
                return(v ? col.Name : null);
            })
                          .Where(_ => _ != null)
                          .ToArray();


            var a = colsdlt.Except(ignoreproperties);

            dt.DeleteColumns(a.ToArray());

            return(dt.SaveToString());
        }