Проблема с разделением строки, содержащей данные CSV, на массив с запятыми - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь прочитать объект s3, содержащий данные csv и преобразовать его в строковую переменную, до сих пор все работало хорошо. Теперь, когда я попытался прочитать эти данные в массив, используя arr = body.match(/.*/g).map(row => row.split(","));, я вижу значение столбцавстраивание в ", например "TEST_SESSION_VALUE4, MSTA_", вот проблема, когда я записываю каждый элемент массива в массив arr в таблицу html.Итак, при записи "TEST_SESSION_VALUE4, MSTA_" это одно значение разбивается на два значения, делая html таблицу неровной

 const body = Buffer.from(data.Body).toString('utf-8'); //this line of code reading s3 object containing csv data and converting into string

, когда я console.log(body) получаю данные ниже

TEST_SESSION_VALUE1,121,Round1,sev1,1
TEST_SESSION_VALUE2,122,Round2,sev2,2
TEST_SESSION_VALUE2,123,Round3,sev3,3
"TEST_SESSION_VALUE4, MSTA_",124,Round4,sev4,4 //take a look at this row which off from rest of them

Первые тристроки хорошо вписываются в таблицу html с тремя строками и пятью столбцами.Но, когда дело доходит до последней строки, она берет дополнительный столбец после того, как "TEST_SESSION_VALUE4, MSTA_" разделился на два значения

Я попробовал некоторые выражения, такие как arr = body.match(/(.*|".*?")/g).map(line => line.split(",")) без ожидаемого результата.Я был бы признателен за любую помощь с регулярным выражением, которое служит выше цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...