Retour au classement

mholt/PapaParse

JavaScriptpapaparse.com

Fast and powerful CSV (delimited text) parser that gracefully handles large files and malformed input

csvjavascriptcsv-parser
Croissance des étoiles
Étoiles
13.5k
Forks
1.2k
Croissance hebdomadaire
Issues
189
5k10k
oct. 2013janv. 2018avr. 2022juil. 2026
Artefactsnpmnpm install papaparse
README

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:

  • Easy to use
  • Parse CSV files directly (local or over the network)
  • Fast mode
  • Stream large files (even via HTTP)
  • Reverse parsing (converts JSON to CSV)
  • Auto-detect delimiter
  • Worker threads to keep your web page reactive
  • Header row support
  • Pause, resume, abort
  • Can convert numbers and booleans to their types
  • Optional jQuery integration to get files from <input type="file"> elements
  • One of the only parsers that correctly handles line-breaks and quotations

Papa Parse has no dependencies - not even jQuery.

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 or ask a question, 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. You may also discuss on Twitter with #PapaParse or directly to me, @mholt6.

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.

Dépôts similaires
AykutSarac/jsoncrack.com

✨ Innovative and open-source visualization application that transforms various data formats, such as JSON, YAML, XML and CSV into interactive graphs.

TypeScriptnpmApache License 2.0jsontool
jsoncrack.com
44.3k3.6k
SheetJS/sheetjs

📗 SheetJS Spreadsheet Data Toolkit -- New home https://git.sheetjs.com/SheetJS/sheetjs

Apache License 2.0xlsxexcel
sheetjs.com
36.3k7.9k
sinaptik-ai/pandas-ai

Chat with your database or your datalake (SQL, CSV, parquet). PandasAI makes data analysis conversational using LLMs and RAG.

PythonPyPIOtherllmpandas
pandas-ai.com
23.7k2.3k
modood/Administrative-divisions-of-China

中华人民共和国行政区划:省级(省份)、 地级(城市)、 县级(区县)、 乡级(乡镇街道)、 村级(村委会居委会) ,中国省市区镇村二级三级四级五级联动地址数据。

JavaScriptnpmDo What The F*ck You Want To Public Licensechinaadministrative-divisions
20.9k7.2k
mikefarah/yq

yq is a portable command-line YAML, JSON, XML, CSV, TOML, HCL and properties processor

GoGo ModulesMIT Licenseyaml-processoryaml
mikefarah.gitbook.io/yq/
15.7k797
exceljs/exceljs

Excel Workbook Manager

JavaScriptnpmMIT Licensehacktoberfestxlsx
15.4k2k
JoeanAmier/TikTokDownloader

TikTok 发布/喜欢/合辑/直播/视频/图集/音乐;抖音发布/喜欢/收藏/收藏夹/视频/图集/实况/直播/音乐/合集/评论/账号/搜索/热榜数据采集工具/下载工具

PythonPyPIGNU General Public License v3.0douyinpython
discord.com/invite/ZYtmgKud9Y
15.2k2.6k
Sinaptik-AI/pandas-ai

Chat with your database (SQL, CSV, pandas, polars, mongodb, noSQL, etc). PandasAI makes data analysis conversational using LLMs (GPT 3.5 / 4, Anthropic, VertexAI) and RAG.

PythonPyPIllmpandas
pandas-ai.com
14k1.4k
SpartnerNL/Laravel-Excel

🚀 Supercharged Excel exports and imports in Laravel

PHPPackagistMIT Licenselaravelphpexcel
laravel-excel.com
12.7k2k
simonw/datasette

An open source multi-tool for exploring and publishing data

PythonPyPIApache License 2.0sqlitepython
datasette.io
11.3k885
BurntSushi/xsv

A fast CSV command line toolkit written in Rust.

Rustcrates.ioThe Unlicensecsvcli
10.8k326
harelba/q

q - Run SQL directly on delimited files and multi-file sqlite databases

PythonPyPIGNU General Public License v3.0pythonsql
harelba.github.io/q/
10.4k423