コード例 #1
0
    void testsdf(SimpleDf sdf, string startFilterDate, string endFilterDate)
    {
        sdf.OutputDebugInfoStatStr();
        var tdf = SimpleDf.Copy(sdf, "tdf");

        Debug.Log($"Copying completed");
        Debug.Log($"Copied {tdf.InfoStr()}");
        Debug.Log($"Cols: {tdf.InfoClassStr()}");
        Debug.Log($"Cols: {tdf.InfoInversionsStr()}");
        tdf.KeepColumns(new string[] { "Id", "Timestamp", "x", "y" });
        //tdf = SimpleDf.SortOnColumn(tdf, "Timestamp", descend:true, quiet: false);
        tdf.preferedFormat["Timestamp"] = "yyyy-MM-dd HH:mm:ss.fff";
        var tblst = tdf.GetBoolFilter("Timestamp", startFilterDate, endFilterDate);

        tdf = SimpleDf.Subset(tdf, "tdf", tblst);
        tdf.MakeNewFloatCol("testcol", 0.0f, 3.14f);
        tdf.FloatTimeFromDateString("Timestamp", "Elaptime");
        tdf.preferedFormat["Elaptime"] = "f2";
        tdf.WriteCsv("testcsvname.csv");
    }
コード例 #2
0
 public void Load(string startFilterDate, string endFilterDate)
 {
     try
     {
         ResolveFullCsvName();
         Debug.Log("Load  " + fullcsvname);
         sdf         = new SimpleDf();
         sdf.comment = clr;
         sdf.CheckConsistency("Before Load");
         sdf.preferedType["Id"]          = SdfColType.dflong;
         sdf.preferedType["Timestamp"]   = SdfColType.dfdatetime;
         sdf.preferedFormat["Timestamp"] = "yyyy-MM-dd HH:mm:ss.fff";
         sdf.preferedType["time"]        = SdfColType.dfdatetime;
         sdf.preferedFormat["time"]      = "yyyy/MM/dd HH:mm:ss.fff";
         sdf.preferedSubstitute["time"]  = ("+00", "");
         sdf.ReadCsv(fullcsvname, quiet: false);
         Debug.Log($"Read {sdf.InfoStr()}");
         Debug.Log($"Cols: {sdf.InfoClassStr()}");
         Debug.Log($"Copying {sdf.InfoStr()}");
         var test = false;
         if (test)
         {
             testsdf(sdf, startFilterDate, endFilterDate);
         }
         var tcolname = "Timestamp";
         isdozertrack = true;
         if (sdf.ColumnExists("time"))
         {
             tcolname     = "time";
             isdozertrack = false;
         }
         sdf.KeepColumns(new string[] { "Id", "Timestamp", "x", "y", "time", "X", "Y" });
         sdf = SimpleDf.SortOnColumn(sdf, tcolname);
         if (isdozertrack)
         {
             var blst = sdf.GetBoolFilter("Timestamp", startFilterDate, endFilterDate);
             sdf = SimpleDf.Subset(sdf, "df", blst);
         }
         else
         {
             sdf.RenameColumn("X", "x");
             sdf.RenameColumn("Y", "y");
         }
         sdf.FloatTimeFromDateString(tcolname, "Elaptime");
         sdf.preferedFormat["Elaptime"] = "f2";
         test = true;
         if (test)
         {
             sdf.WriteCsv("transformed_df.csv");
         }
         var nrow = sdf.Nrow();
         if (nrow == 0)
         {
             Debug.LogWarning("No rows in df " + fullcsvname);
             sdf = null;
         }
     }
     catch (Exception ex)
     {
         Debug.LogError("Exception in DozerTracks.Load:" + ex.ToString());
     }
 }