diff options
author | mehekj <mehek.jethani@gmail.com> | 2023-04-10 16:08:58 -0400 |
---|---|---|
committer | mehekj <mehek.jethani@gmail.com> | 2023-04-10 16:08:58 -0400 |
commit | bff54ce7283f7a50a8c4184ea0543b7a2d338e25 (patch) | |
tree | 26af049cb8549aa75cc376524e123b78adf5a94f /src/server/DataVizUtils.ts | |
parent | 7934c38ed641f4a10cd008fe415a50aef1240e10 (diff) | |
parent | 3cb7f85b23eb0ae3a432bbe15b8a2cda37290ce2 (diff) |
Merge branch 'master' into schema-mehek
Diffstat (limited to 'src/server/DataVizUtils.ts')
-rw-r--r-- | src/server/DataVizUtils.ts | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/server/DataVizUtils.ts b/src/server/DataVizUtils.ts index 4fd0ca6ff..15f03b319 100644 --- a/src/server/DataVizUtils.ts +++ b/src/server/DataVizUtils.ts @@ -1,13 +1,17 @@ +import { readFileSync } from 'fs'; + export function csvParser(csv: string) { - const lines = csv.split("\n"); - const headers = lines[0].split(","); - const data = lines.slice(1).map(line => { - const values = line.split(","); - const obj: any = {}; - for (let i = 0; i < headers.length; i++) { - obj[headers[i]] = values[i]; - } - return obj; - }); + const lines = csv.split('\n'); + const headers = lines[0].split(',').map(header => header.trim()); + const data = lines.slice(1).map(line => + line.split(',').reduce((last, value, i) => { + last[headers[i]] = value.trim(); + return last; + }, {} as any) + ); return data; -}
\ No newline at end of file +} + +export function csvToString(path: string) { + return readFileSync(path, 'utf8'); +} |