Объединение файлов CSV в JavaScript: несколько методов эффективной консолидации данных

Чтобы объединить файлы CSV с помощью JavaScript, можно использовать несколько методов. Вот несколько подходов:

  1. Использование Node.js и модулей «csv-parser» и «fs»:

    const fs = require('fs');
    const csv = require('csv-parser');
    // Array to store combined data
    let combinedData = [];
    // Function to combine CSV files
    function combineCSVFiles(filePaths) {
    filePaths.forEach(filePath => {
    fs.createReadStream(filePath)
      .pipe(csv())
      .on('data', (data) => {
        combinedData.push(data);
      })
      .on('end', () => {
        // Combined data is available here
        console.log('CSV files combined successfully.');
        console.log(combinedData);
      });
    });
    }
    // Example usage: provide an array of file paths to combine
    const filePaths = ['file1.csv', 'file2.csv', 'file3.csv'];
    combineCSVFiles(filePaths);
  2. Использование библиотеки PapaParse (доступно как для клиентского, так и для серверного JavaScript):

    // Include PapaParse library in your HTML file
    <script src="https://cdnjs.cloudflare.com/ajax/libs/PapaParse/5.3.0/papaparse.min.js"></script>
    // Function to combine CSV files
    function combineCSVFiles(filePaths) {
    let combinedData = [];
    filePaths.forEach(filePath => {
    Papa.parse(filePath, {
      download: true,
      delimiter: ',',
      header: true,
      dynamicTyping: true,
      complete: (results) => {
        combinedData = combinedData.concat(results.data);
      }
    });
    });
    // Combined data is available here
    console.log('CSV files combined successfully.');
    console.log(combinedData);
    }
    // Example usage: provide an array of file paths to combine
    const filePaths = ['file1.csv', 'file2.csv', 'file3.csv'];
    combineCSVFiles(filePaths);
  3. Использование модуля «csv-writer»:

    const createCsvWriter = require('csv-writer').createObjectCsvWriter;
    // Function to combine CSV files
    function combineCSVFiles(filePaths) {
    let combinedData = [];
    filePaths.forEach(filePath => {
    const reader = require('fs').createReadStream(filePath);
    const csvReader = require('csv-parser');
    reader.pipe(csvReader())
      .on('data', (data) => {
        combinedData.push(data);
      })
      .on('end', () => {
        // Combined data is available here
        console.log('CSV files combined successfully.');
        console.log(combinedData);
      });
    });
    }
    // Example usage: provide an array of file paths to combine
    const filePaths = ['file1.csv', 'file2.csv', 'file3.csv'];
    combineCSVFiles(filePaths);

Это всего лишь несколько способов объединения файлов CSV с помощью JavaScript. В зависимости от ваших конкретных требований и среды вы можете выбрать метод, который подходит вам лучше всего.