Введение
В этом практическом занятии мы изучим, как преобразовать данные в формате CSV (comma-separated values) в двумерный массив с использованием JavaScript. Мы будем использовать функцию CSVToArray(), которая принимает CSV-строку в качестве входных данных и преобразует ее в массив массивов. Это практическое занятие поможет вам понять, как работать с данными в формате CSV и манипулировать ими с использованием JavaScript.
Преобразование CSV в массив
Для преобразования строки с данными в формате CSV (comma-separated values) в двумерный массив следуйте шагам:
- Откройте Терминал/SSH и введите
node, чтобы начать программирование. - Используйте
Array.prototype.indexOf(), чтобы найти первый символ новой строки (\n). - Используйте
Array.prototype.slice(), чтобы удалить первую строку (заголовочную строку), еслиomitFirstRowустановлен вtrue. - Используйте
String.prototype.split(), чтобы создать строку для каждой строки. - Используйте
String.prototype.split(), чтобы разделить значения в каждой строке с использованием заданногоdelimiter. - Если вы не указываете второй аргумент,
delimiter, по умолчанию будет использоваться разделитель','. - Если вы не указываете третий аргумент,
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, чтобы улучшить свои навыки.