Преобразование CSV в массив

JavaScriptJavaScriptBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы изучим, как преобразовать данные в формате CSV (comma-separated values) в двумерный массив с использованием JavaScript. Мы будем использовать функцию CSVToArray(), которая принимает CSV-строку в качестве входных данных и преобразует ее в массив массивов. Это практическое занятие поможет вам понять, как работать с данными в формате CSV и манипулировать ими с использованием JavaScript.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28229{{"Преобразование CSV в массив"}} javascript/data_types -.-> lab-28229{{"Преобразование CSV в массив"}} javascript/arith_ops -.-> lab-28229{{"Преобразование CSV в массив"}} javascript/comp_ops -.-> lab-28229{{"Преобразование CSV в массив"}} javascript/higher_funcs -.-> lab-28229{{"Преобразование CSV в массив"}} end

Преобразование CSV в массив

Для преобразования строки с данными в формате CSV (comma-separated values) в двумерный массив следуйте шагам:

  1. Откройте Терминал/SSH и введите node, чтобы начать программирование.
  2. Используйте Array.prototype.indexOf(), чтобы найти первый символ новой строки (\n).
  3. Используйте Array.prototype.slice(), чтобы удалить первую строку (заголовочную строку), если omitFirstRow установлен в true.
  4. Используйте String.prototype.split(), чтобы создать строку для каждой строки.
  5. Используйте String.prototype.split(), чтобы разделить значения в каждой строке с использованием заданного delimiter.
  6. Если вы не указываете второй аргумент, delimiter, по умолчанию будет использоваться разделитель ','.
  7. Если вы не указываете третий аргумент, omitFirstRow, в массив будет включена первая строка (заголовочная строка) CSV-строки.

Вот код для преобразования CSV в массив:

const CSVToArray = (data, delimiter = ",", omitFirstRow = false) =>
  data
    .slice(omitFirstRow ? data.indexOf("\n") + 1 : 0)
    .split("\n")
    .map((v) => v.split(delimiter));

Вы можете использовать следующие примеры для тестирования функции:

CSVToArray("a,b\nc,d"); // [['a', 'b'], ['c', 'd']];
CSVToArray("a;b\nc;d", ";"); // [['a', 'b'], ['c', 'd']];
CSVToArray("col1,col2\na,b\nc,d", ",", true); // [['a', 'b'], ['c', 'd']];

Резюме

Поздравляем! Вы завершили практическое занятие по преобразованию CSV в массив. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.