В Node.js есть несколько способов разбить .CSV файл на отдельные части. Один из самых популярных способов - использовать сторонние модули, такие как "csv-parser" или "papaparse", которые обрабатывают CSV файлы и предоставляют простой интерфейс для чтения и записи данных.
Для начала установите необходимые модули, выполнив следующую команду в командной строке:
npm install csv-parser
После установки, вы можете использовать следующий код для разбиения CSV файла на отдельные части:
const fs = require('fs'); const csv = require('csv-parser'); const inputFilePath = 'input.csv'; const outputFilePathPrefix = 'output'; let partIndex = 1; let outputStream = fs.createWriteStream(`${outputFilePathPrefix}_${partIndex}.csv`); fs.createReadStream(inputFilePath) .pipe(csv()) .on('data', (data) => { // Обработка каждой строки из CSV файла // Запись данных в выходной файл outputStream.write(`${data.column1},${data.column2},${data.column3}n`); // Проверка, достигнут ли предельный размер файла const partSize = 100; // Максимальное количество строк в каждой части if (stream.dataCount >= partSize) { // Закрытие текущего выходного потока outputStream.end(); // Увеличение номера части partIndex++; // Создание нового потока для следующей части outputStream = fs.createWriteStream(`${outputFilePathPrefix}_${partIndex}.csv`); } }) .on('end', () => { // Завершение обработки // Закрытие последнего выходного потока outputStream.end(); });
В этом коде мы используем модуль csv-parser
для чтения CSV файла, парсинга каждой строки и обработки данных. Мы создаем поток чтения из входного файла и передаем его в csv-parser
. Затем мы обрабатываем каждую строку данных, записываем их в текущий выходной файл и проверяем, достигли ли мы предельного размера файла. Если достигли, то закрываем текущий выходной поток и создаем новый для следующей части файла.
Важно заметить, что в этом примере мы предполагаем, что CSV файл имеет структуру, где каждая строка представляет отдельную запись, и данные разделены запятыми. Если структура вашего CSV файла отличается, вам может потребоваться адаптировать код для соответствия вашим требованиям.
Надеюсь, что эта информация поможет вам разбить .CSV файл в Node.js.