Skip to content

Writer - TimeSeriesCsvSimpleWriter

WriterName: TimeSeriesCsvSimpleWriter

This writer writes time series model into CSV file. It writes only the data, not all surrogate information (see TimeSeriesCsvWriter). Typical use of the writer is to export data from Time Series Storage to CSV file for download so the data can be used in other systems.

Parameters

Writer Parameters generally specify the internal structure of the resulting CSV file, but they all have default values so all of them are optional:

  • dataFile - Name of the data file, default is "data.txt";

  • dataFieldDelimiter - Field delimiter to use in the data file, default is ";";

  • timeDataField - Name of the column that stores time stamps in the data file, default is "DATETIME";

  • timeValueFormat - String defining the format of time stamp values, default is "yyyy-MM-dd HH:mm:ss", you can override this and also use fff to indicate milliseconds;

The output data file structure follows:

<timeDataFieldName><dataFieldDelimiter><col1Name><dataFieldDelimiter><col2Name>...
<datetime><dataFieldDelimiter><val11><dataFieldDelimiter><val21>...
<datetime><dataFieldDelimiter><val12><dataFieldDelimiter><val22>...
<datetime><dataFieldDelimiter><val13><dataFieldDelimiter><val23>...
...

Examples

    {
      projectId: <projectId>,
      datasetId: <datasetId>,
      readerName: 'TimeSeriesReader',
      writerName: 'TimeSeriesCsvSimpleWriter',
      writerParameters: [
        {
            "dataFile": "data.txt",
            "dataFieldDelimiter": ";",
            "timeDataField": "DATETIME",
            "timeValueFormat": "yyyy-MM-dd HH:mm:ss"
        }
      ]
    }
    var result = await transferClient
        .CreateDatasetDownload(projectId, datasetId)
        .WithReader(new TimeSeriesReader)
        .WithWriter(new GenericWriter("TimeSeriesCsvSimpleWriter", new List<ParameterInput>
        {
            new ParameterInput { Name = "dataFile",  Value = "data.txt" },
            new ParameterInput { Name = "dataFieldDelimiter",  Value = ";" },
            new ParameterInput { Name = "timeDataField",  Value = "DATETIME" },
            new ParameterInput { Name = "timeValueFormat",  Value = "yyyy-MM-dd HH:mm:ss" }
        }))
        .ExecuteAndWaitAsync();