PapaParse README

The project's README from github.com/mholt/PapaParse. As one markdown file: README.md.

Parse CSV with JavaScript

Papa Parse is the fastest in-browser CSV (or delimited text) parser for JavaScript. It is reliable and correct according to RFC 4180, and it comes with these features:

Papa Parse has no dependencies.

Install

papaparse is available on npm. It can be installed with the following command:

npm install papaparse

If you don't want to use npm, papaparse.min.js can be downloaded to your project source.

Usage

import Papa from 'papaparse';

Papa.parse(file, config);

const csv = Papa.unparse(data[, config]);

Homepage & Demo

To learn how to use Papa Parse:

The website is hosted on Github Pages. Its content is also included in the docs folder of this repository. If you want to contribute on it just clone the master of this repository and open a pull request.

Papa Parse for Node

Papa Parse can parse a Readable Stream instead of a File when used in Node.js environments (in addition to plain strings). In this mode, encoding must, if specified, be a Node-supported character encoding. The Papa.LocalChunkSize, Papa.RemoteChunkSize , download, withCredentials and worker config options are unavailable.

Papa Parse can also parse in a node streaming style which makes .pipe available. Simply pipe the Readable Stream to the stream returned from Papa.parse(Papa.NODE_STREAM_INPUT, options). The Papa.LocalChunkSize, Papa.RemoteChunkSize , download, withCredentials, worker, step, and complete config options are unavailable. To register a callback with the stream to process data, use the data event like so: stream.on('data', callback) and to signal the end of stream, use the 'end' event like so: stream.on('end', callback).

Get Started

For usage instructions, see the homepage and, for more detail, the documentation.

Tests

Papa Parse is under test. Download this repository, run npm install, then npm test to run the tests.

Contributing

To discuss a new feature open an issue. To fix a bug, submit a pull request to be credited with the contributors! Remember, a pull request, with test, is best.

If you contribute a patch, ensure the tests suite is running correctly. We run continuous integration on each pull request and will not accept a patch that breaks the tests.

PapaParse (mholt/PapaParse)

Searching Database…

13.6K ·GitHub
Что это такое?Papa Parse — это быстрый парсер CSV (текста с разделителями) для JavaScript, который работает в браузере. Он соответствует стандарту RFC 4180 и спокойно справляется с большими файлами и битым вводом.
Это только для браузера, или на сервере тоже можно использовать?В первую очередь это браузерная библиотека, но она работает и в Node.js: там она может парсить не файл, а Readable Stream, и даже поддерживает потоки в стиле Node — через .pipe.
Как добавить её в свой проект?Установите пакет papaparse из npm, или вообще не используйте npm и просто скачайте файл papaparse.min.js прямо в исходники своего проекта.
Она потянет в мой бандл какие-нибудь зависимости?Никаких. У Papa Parse нет зависимостей, так что она встраивается в любой JavaScript-проект и ничего лишнего за собой не тянет.
Если запускать её в Node.js, что будет работать иначе?Там недоступны некоторые настройки, рассчитанные на браузер: LocalChunkSize, RemoteChunkSize, download, withCredentials и worker. В режиме пайпа Papa.NODESTREAMINPUT также недоступны step и complete.
Не повиснет ли моя веб-страница при разборе огромного файла?Нет. Она умеет стримить большие файлы, даже по HTTP, и выносить разбор в воркеры, чтобы страница не тормозила. Кроме того, прямо во время разбора доступны пауза, продолжение и отмена.
А как насчёт кривого CSV, например полей в кавычках с переносами строк внутри?Она соответствует стандарту RFC 4180 и считается одним из немногих парсеров, которые корректно обрабатывают переносы строк и кавычки, так что битый ввод её не собьёт.
А наоборот она умеет — превратить JSON в CSV?Да. Обратный разбор встроен: подаёте JSON — она конвертирует его обратно в CSV.
Она сама определяет разделитель и правильно разбирается с типами?Она автоматически определяет разделитель и поддерживает строки заголовков, а ещё может превращать числа и булевы значения в настоящие типы, а не оставлять их строками.
Creator
mholt
Size
14.5 MB
Stars
13.6K
Age
13y
Commits · 90 Days