csv-parse vs papaparse vs fast-csv vs csv-parser
CSVパーサーライブラリ
csv-parsepapaparsefast-csvcsv-parser類似パッケージ:
CSVパーサーライブラリ

CSVパーサーライブラリは、CSV(カンマ区切り値)ファイルを解析し、データをJavaScriptオブジェクトとして扱えるようにするためのツールです。これらのライブラリは、データのインポートやエクスポート、データ処理の効率を向上させるために使用されます。特に、データの整形や分析を行う際に非常に便利です。

npmのダウンロードトレンド
3 年
GitHub Starsランキング
統計詳細
パッケージ
ダウンロード数
Stars
サイズ
Issues
公開日時
ライセンス
csv-parse7,918,0424,2401.44 MB485ヶ月前MIT
papaparse4,888,13413,300264 kB2127ヶ月前MIT
fast-csv3,716,2111,7677.03 kB584ヶ月前MIT
csv-parser1,709,0401,48429.5 kB6010ヶ月前MIT
機能比較: csv-parse vs papaparse vs fast-csv vs csv-parser

パフォーマンス

  • csv-parse:

    csv-parseは、大きなデータセットをストリームとして処理することで、メモリ使用量を最小限に抑えつつ、高速な解析を実現します。

  • papaparse:

    papaparseは、クライアントサイドでの解析に最適化されており、ブラウザ内でのパフォーマンスが非常に良好です。

  • fast-csv:

    fast-csvは、ストリームとバッファの両方で動作し、データの読み書きが効率的です。特に大きなファイルを扱う際にパフォーマンスが向上します。

  • csv-parser:

    csv-parserは、非常に高速な解析を提供し、ストリーム処理に特化しているため、大量のデータを迅速に処理できます。

選び方: csv-parse vs papaparse vs fast-csv vs csv-parser
  • csv-parse:

    csv-parseは、ストリームベースの解析をサポートしており、大きなCSVファイルを扱う際にメモリ効率が良いです。柔軟なオプションを提供し、カスタマイズ可能な解析が必要な場合に適しています。

  • papaparse:

    papaparseは、ブラウザとNode.jsの両方で動作する高機能なCSVパーサーです。特にクライアントサイドでの使用に優れており、ユーザーインターフェースとの統合が容易です。

  • fast-csv:

    fast-csvは、ストリームとバッファの両方で動作する柔軟なCSVパーサーです。データの読み書きが容易で、CSVファイルの処理を簡単に行いたい場合に適しています。

  • csv-parser:

    csv-parserは、シンプルで高速なCSVパーサーであり、ストリーム処理に特化しています。パフォーマンスを重視し、シンプルな使い方を求める場合に最適です。

csv-parse のREADME

CSV parser for Node.js and the web

Build Status NPM NPM

The csv-parse package is a parser converting CSV text input into arrays or objects. It is part of the CSV project.

It implements the Node.js stream.Transform API. It also provides a simple callback-based API for convenience. It is both extremely easy to use and powerful. It was first released in 2010 and is used against big data sets by a large community.

Documentation

Main features

  • Flexible with lot of options
  • Multiple distributions: Node.js, Web, ECMAScript modules and CommonJS
  • Follow the Node.js streaming API
  • Simplicity with the optional callback API
  • Support delimiters, quotes, escape characters and comments
  • Line breaks discovery
  • Support big datasets
  • Complete test coverage and lot of samples for inspiration
  • No external dependencies
  • Work nicely with the csv-generate, stream-transform and csv-stringify packages
  • MIT License

Usage

Run npm install csv to install the full CSV module or run npm install csv-parse if you are only interested by the CSV parser.

Use the callback and sync APIs for simplicity or the stream based API for scalability.

Example

The API is available in multiple flavors. This example illustrates the stream API.

import assert from "assert";
import { parse } from "csv-parse";

const records = [];
// Initialize the parser
const parser = parse({
  delimiter: ":",
});
// Use the readable stream api to consume records
parser.on("readable", function () {
  let record;
  while ((record = parser.read()) !== null) {
    records.push(record);
  }
});
// Catch any error
parser.on("error", function (err) {
  console.error(err.message);
});
// Test that the parsed records matched the expected records
parser.on("end", function () {
  assert.deepStrictEqual(records, [
    ["root", "x", "0", "0", "root", "/root", "/bin/bash"],
    ["someone", "x", "1022", "1022", "", "/home/someone", "/bin/bash"],
  ]);
});
// Write data to the stream
parser.write("root:x:0:0:root:/root:/bin/bash\n");
parser.write("someone:x:1022:1022::/home/someone:/bin/bash\n");
// Close the readable stream
parser.end();

Contributors

The project is sponsored by Adaltas, an Big Data consulting firm based in Paris, France.