Skip to content

Latest commit

 

History

History
26 lines (20 loc) · 506 Bytes

File metadata and controls

26 lines (20 loc) · 506 Bytes

csvDataToObjectArray()

Summary

Code

function csvFileToObjectArray(csvFileId) {
  const csvData = DriveApp.getFileById(csvFileId).getBlob().getDataAsString();

  return csvDataToObjectArray(csvData);
}

function csvDataToObjectArray(csvData) {
  const [headerRow, ...dataRows] = csvData
    .split("\n")
    .map((row) => row.split(","));

  return dataRows.map((dataRow) =>
    headerRow.reduce(
      (obj, key, index) => ({ ...obj, [key]: dataRow[index] }),
      {}
    )
  );
}