Skip to content

Writer - TimeSeriesCsvWriter

WriterName: TimeSeriesCsvWriter

This writer writes time series model into CSV file zipped in a zip archive along with other surrogate files. 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 zip archive, but they all have default values so all of them are optional:

  • datasetMetafile - Name of the file to write metadata into, default is "datasetmetafile.txt";

  • metadataFile - Name of the file to write metadata into, default is "metadata.txt";

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

  • flagsDefinitionFile - Name of the file with declaration of flags for the data, default is "flagsdef.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 "REFDATETIMEREF";

  • 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: 'TimeSeriesCsvWriter',
      writerParameters: [
        {
            "datasetMetafile": "datasetmetafile.txt",
            "metadataFile": "metadata.txt",
            "dataFile": "data.txt",
            "flagsDefinitionFile": "flagsdef.txt",
            "dataFieldDelimiter": ";",
            "timeDataField": "REFDATETIMEREF",
            "timeValueFormat": "yyyy-MM-dd HH:mm:ss"
        }
      ]
    }
    var result = await transferClient
        .CreateDatasetDownload(projectId, datasetId)
        .WithReader(new TimeSeriesReader)
        .WithWriter(new GenericWriter("TimeSeriesCsvWriter",new List<ParameterInput>
        {
            new ParameterInput { Name = "datasetMetafile",  Value = "datasetmetafile.txt" },
            new ParameterInput { Name = "metadataFile",  Value = "metadata.txt" },
            new ParameterInput { Name = "dataFile",  Value = "data.txt" },
            new ParameterInput { Name = "flagsDefinitionFile",  Value = "flagsdef.txt" },
            new ParameterInput { Name = "dataFieldDelimiter",  Value = ";" },
            new ParameterInput { Name = "timeDataField",  Value = "REFDATETIMEREF" },
            new ParameterInput { Name = "timeValueFormat",  Value = "yyyy-MM-dd HH:mm:ss" }
        }))
        .ExecuteAndWaitAsync();