Skip to content
/ ACsv Public

ACsv is a easy, multi-platform and powerful csv parsing library, includes: js, ts, haxe, php, java, python, c#, go

License

Notifications You must be signed in to change notification settings

amin2312/ACsv

Repository files navigation

ACsv Library


| Español | Portugués | Français | Русский | 中文 | 日本語 | Tiếng Việt | Indonesia |

ACsv is an easy, multi-platform and powerful "csv parsing library".
The features:

  • Multi-platform - provides Haxe, JS, TS, PHP, Java, Python, C#, and Golang versions
  • Standard - supports standard CSV format (RFC 4180)
  • Easy to use - provides example, demos and documentations
  • Fast speed - optimized code for high performance. It can work easily in older devices.
  • Powerful - supports enhanced CSV format;
          allows field type to be declared after the field name (like );
          supported field types: bool, int, number, string, json, strings;
          See details in "release/csvs/enhanced_format_text.csv"
          - compatibles with unicdoe BOM

Example

// enhanced_csv_content
//----------------------------------------------------------------
//| id:int | name:string | age:int | weight:number | tags:json   |
//|--------------------------------------------------------------|
//|    1   |   John      |   20    | 60.1          | ["cool"]    |
//|    2   |   Mary      |   20    | 60.2          | ["thin"]    |
//|    3   |   Tom       |   18    | 60.3          | ["young"]   |
//----------------------------------------------------------------

var table = acsv.Table.Parse(enhanced_csv_content);
table.selectWhenE(1, 3).toFirstObj();
// {id: 3, name: "Tom",  age: 18, weight: 60.3, tags: ["young"] }

table.selectWhenE(0, 20, 2).toObjs();
// [ 
//   {id: 1, name: "John", age: 20, weight: 60.1, tags: ["cool"] }, 
//   {id: 2, name: "Mary", age: 20, weight: 60.2, tags: ["thin"] }
// ]

// Method Chaining Usage
table.selectWhenE(0, 20, 2).selectWhenL(0, false, 60.2).toObjs();
// [ 
//   {id: 1, name: "John",  age: 20, weight: 60.1, tags: ["cool"] }
// ]

Demos

Docs

Online docs - via dox

Others

⭐ If you like this project, please add a star ⭐