JS functions: convert object to csv, convert csv to object
This commit is contained in:
parent
708b625fbe
commit
3e92c644fd
39
web/csv.js
Normal file
39
web/csv.js
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
// CSV to JS object
|
||||||
|
function csvToObject(csvData) {
|
||||||
|
const rows = csvData.split('\n');
|
||||||
|
const headers = rows[0].split(',');
|
||||||
|
const dataArray = [];
|
||||||
|
|
||||||
|
for (let i = 1; i < rows.length; i++) {
|
||||||
|
const values = rows[i].trim().split(','); // trim to remove linebreak
|
||||||
|
if (rows[i] != '') {
|
||||||
|
//don't treat empty lines
|
||||||
|
const obj = {};
|
||||||
|
for (let j = 0; j < headers.length; j++) {
|
||||||
|
obj[headers[j]] = values[j];
|
||||||
|
}
|
||||||
|
dataArray.push(obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dataArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// JS object to CSV
|
||||||
|
function objectToCsv(objArray) {
|
||||||
|
const array = typeof objArray !== 'object' ? JSON.parse(objArray) : objArray;
|
||||||
|
let csv = '';
|
||||||
|
// field names in first line
|
||||||
|
const fields = Object.keys(array[0]);
|
||||||
|
csv += fields.join(',') + '\r\n'; // \r\n for cross platform compatibility
|
||||||
|
// data rows
|
||||||
|
for (let i = 0; i < array.length; i++) {
|
||||||
|
let line = '';
|
||||||
|
for (let index in array[i]) {
|
||||||
|
if (line !== '') line += ',';
|
||||||
|
line += array[i][index];
|
||||||
|
}
|
||||||
|
csv += line + '\r\n';
|
||||||
|
}
|
||||||
|
return csv;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user