Skip to main content
1-Visitor
October 13, 2017
Question

Getting blank rows of record when I am using ReadCSVFiles service of CSVParserFuntions for reading data from CSV files

  • October 13, 2017
  • 1 reply
  • 6871 views

Hi,

Please find attachments,

I am using ReadCSVFiles service of CSVParserFuntions for reading data from CSV files. CSV file contains 3 row of records actually (You can see in attached EmpDEtails.csv file).

but when I execute this service I didn't get any record as output but I got 3 empty rows. I don't understand why It's happening.

Please check script code below and let me know what I am missing so that I can fix it and get csv data and load it into grid.

Script Code:

var params = {   
    path: 'EmpDetails.csv' /* STRING */,
columnMappings: 'FirstName,LastName,DOB' /* STRING */,
    hasHeader: true /* BOOLEAN */,
//longitudeField: undefined /* NUMBER */,
//dateFormat: undefined /* STRING */,*
fileRepository: 'EDURepository' /* THINGNAME */,
//latitudeField: undefined /* NUMBER */,
fieldDelimiter: ',' /* STRING */,
//stringDelimiter: '¨' /* STRING */,
dataShape: 'EmpDetailsDataShape' /* DATASHAPENAME */
};
// result: INFOTABLE
var result = Resources["CSVParserFunctions"].ReadCSVFile(params);
logger.warn('result:'+result);

var tableLength = result.rows.length;
logger.warn('tableLength: '+tableLength);
for (var x = 0; x < tableLength; x++) {
var row = result.rows;
    logger.warn('row: '+row);
logger.warn('FirstName: '+row.FirstName+'  LastName: '+row.LastName+'  DOB: '+row.DOB);
}

Please do the needful asap.

From,

Rohit Kumar Jaiswal

1 reply

1-Visitor
October 16, 2017

Hi Rohit,

Some things:

  • columnMappings --> Separator it's ";" instead of ","
  • stringDelimiter --> It's mandatory, by default "\"", I mean csv content should have stringDelimiter for each value
  • If you are using an old version of the CSV extension then you need a line feed at the end of the file

Your code should like:

var result = Resources["CSVParserFunctions"].ReadCSVFile({

path: "EmpDetails.csv",

columnMappings: "FirstName;LastName;DOB",

hasHeader: true /* BOOLEAN */,

//longitudeField: undefined /* NUMBER */,

//dateFormat: undefined /* STRING */,

fileRepository: "EDURepository" /* THINGNAME */,

latitudeField: undefined /* NUMBER */,

fieldDelimiter: "," /* STRING */,

stringDelimiter: "\"",

dataShape: "EmpDetailsDataShape"

});

and your csv file:

"FirstName","LastName","DOB"

"Vasu","tada","22jun"

"Rohit","jais","16jul"

"Tamal","sarkar","12jul"

1-Visitor
October 16, 2017

Hi Carles Coll,

As suggested by you please check my below script

var params = {  

    path: "EmpDetails.csv" /* STRING */,

columnMappings: "FirstName;LastName;DOB" /* STRING */,

    hasHeader: true /* BOOLEAN */,

//longitudeField: undefined /* NUMBER */,

//dateFormat: undefined /* STRING */,

fileRepository: "EDURepository" /* THINGNAME */,

latitudeField: undefined /* NUMBER */,

fieldDelimiter: "," /* STRING */,

stringDelimiter: "\"" /* STRING */,

dataShape: "EmpDetailsDataShape" /* DATASHAPENAME */

};

// result: INFOTABLE

var result = Resources["CSVParserFunctions"].ReadCSVFile(params);

and CSV file:

¨FirstName¨,¨LastName¨,¨DOB¨

¨Vasu¨,¨tada¨,¨22jun¨

¨Rohit¨,¨jais¨,¨16jul¨

¨Tamal¨,¨sarkar¨,¨12jul¨

I am getting output as follows:

I unable to understand why I am getting ? character as a prefix and postfix for each field value.

Please let me know how can I fix it.

From,

Rohit kumar Jaiswal

1-Visitor
October 16, 2017

It maybe a codification issue UTF-8 and alike, why are you using ¨ instead of " ? you may try with single quote '