From f3f59e57b114f99b505c33150f95e37bbc646598 Mon Sep 17 00:00:00 2001 From: Dan Crescimanno Date: Mon, 18 Apr 2022 23:26:29 -0700 Subject: [PATCH 1/2] feat: added skipEmptyLines: greedy to the papaparse default options to deal with irregularities between the node and web csv read --- src/danfojs-base/io/browser/io.csv.ts | 1 + src/danfojs-base/io/node/io.csv.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/src/danfojs-base/io/browser/io.csv.ts b/src/danfojs-base/io/browser/io.csv.ts index d22eecd3..f6519cf1 100644 --- a/src/danfojs-base/io/browser/io.csv.ts +++ b/src/danfojs-base/io/browser/io.csv.ts @@ -52,6 +52,7 @@ const $readCSV = async (file: any, options?: CsvInputOptionsBrowser): Promise { diff --git a/src/danfojs-base/io/node/io.csv.ts b/src/danfojs-base/io/node/io.csv.ts index 80f51409..1afba770 100644 --- a/src/danfojs-base/io/node/io.csv.ts +++ b/src/danfojs-base/io/node/io.csv.ts @@ -55,6 +55,7 @@ const $readCSV = async (filePath: string, options?: CsvInputOptionsNode): Promis const optionsWithDefaults = { header: true, dynamicTyping: true, + skipEmptyLines: 'greedy', ...options, } From f6afd8d39f07672865a3d36c63a70f84ab55b4a9 Mon Sep 17 00:00:00 2001 From: Dan Crescimanno Date: Mon, 18 Apr 2022 23:39:49 -0700 Subject: [PATCH 2/2] feat: added any because I couldn't get the typescript compiler to understand that skipEmptyLines is indeed an option --- src/danfojs-base/io/node/io.csv.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/danfojs-base/io/node/io.csv.ts b/src/danfojs-base/io/node/io.csv.ts index 1afba770..7d15a12e 100644 --- a/src/danfojs-base/io/node/io.csv.ts +++ b/src/danfojs-base/io/node/io.csv.ts @@ -60,7 +60,7 @@ const $readCSV = async (filePath: string, options?: CsvInputOptionsNode): Promis } const dataStream = request.get(filePath); - const parseStream: any = Papa.parse(Papa.NODE_STREAM_INPUT, optionsWithDefaults); + const parseStream: any = Papa.parse(Papa.NODE_STREAM_INPUT, optionsWithDefaults as any); dataStream.pipe(parseStream); const data: any = [];