如何在Node.js中将CSV转换为JSON [英] How to convert CSV to JSON in Node.js

查看:268
本文介绍了如何在Node.js中将CSV转换为JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将csv文件转换为json。我正在使用。



示例CSV:

  a,b, c,d 
1,2,3,4
5,6,7,8
...

所需的JSON:

  {a:1,b:2 ,c:3,d:4},
{a:5,b:6,c:7,d:8},
..

我尝试了node-csv解析器库。但是输出像我预期的那样不像数组。 / p>

我正在使用Node 0.8和express.js,并希望有一个关于如何轻松实现这一点的建议。

解决方案

Node.js csvtojson module 是一个综合的nodejs csv解析器。可以在$ code> browserify 或 webpack 的帮助下用作node.js应用程序库/命令行工具/或浏览器。



源代码可以在以下网址找到: https://github.com/Keyang/node-csvtojson



它具有低内存消耗,而且功能强大,可以支持任何解析需求,丰富的API并且易于阅读文档。



详细的文档可以找到这里



以下是一些代码示例:



将其用作Node.js应用程序中的一个库(csvtojson@1.1.0 +):


  1. 通过 npm

npm install --save csvtojson @ latest


  1. 在你的node.js应用程序中使用它:



  // require csvtojson 
var csv = require(csvtojson);

//用csvtojson
csv()
.fromFile(csvFilePath)
.on(end_parsed,function(jsonArrayObj){//
console.log(jsonArrayObj);
})

//用stream / pipe解析大csv(低mem消耗)
csv()
.fromStream(可读流)
.on(json,function(jsonObj){//每个csv行将发出单个json对象
console.log (jsonObj);
})

//将csv字符串转换为csv行
csv()
.fromString(csvString)
.on( csv,function(row){// csv cols的数组,如[col1,col2,col3 ...]
console.log(row);
})

将其用作命令行工具

  sh#npm install -g csvtojson 
sh#csvtojson ./yourCsvFile.csv

对于高级用法:

  sh#csvtojson --help 

您可以从上面的github页面找到更多详细信息。


I am trying to convert csv file to json. I am using .

Example CSV:

a,b,c,d
1,2,3,4
5,6,7,8
...

Desired JSON:

{"a": 1,"b": 2,"c": 3,"d": 4},
{"a": 5,"b": 6,"c": 7,"d": 8},
...

I tried node-csv parser library.But the output is like array not like I expected.

I'm using Node 0.8 and express.js and would like a recommendation on how to easily accomplish this.

解决方案

Node.js csvtojson module is a comprehensive nodejs csv parser. It can be used as node.js app library / a command line tool / or browser with help of browserify or webpack.

the source code can be found at: https://github.com/Keyang/node-csvtojson

It is fast with low memory consumption yet powerful to support any of parsing needs with abundant API and easy to read documentation.

The detailed documentation can be found here

Here are some code examples:

Use it as a library in your Node.js application (csvtojson@1.1.0 +):

  1. Install it through npm

npm install --save csvtojson@latest

  1. Use it in your node.js app:

// require csvtojson
var csv = require("csvtojson");

// Convert a csv file with csvtojson
csv()
  .fromFile(csvFilePath)
  .on("end_parsed",function(jsonArrayObj){ //when parse finished, result will be emitted here.
     console.log(jsonArrayObj); 
   })

// Parse large csv with stream / pipe (low mem consumption)
csv()
  .fromStream(readableStream)
  .on("json",function(jsonObj){ //single json object will be emitted for each csv line
    console.log(jsonObj);
  }) 

//Convert csv string to csv rows
csv()
  .fromString(csvString)
  .on("csv",function(row){ // an array of csv cols like [col1, col2, col3 ...]
    console.log(row);
  })

Use it as a command line tool:

sh# npm install -g csvtojson
sh# csvtojson ./yourCsvFile.csv

For advanced usage:

sh# csvtojson --help

You can find more details from the github page above.

这篇关于如何在Node.js中将CSV转换为JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆