node.js生成与读取csv文件方法详解

nodejs使用object-to-CSV库生成csv文件

object-to-CSV是一个非常棒的库,可以使用nodejs将对象数组快速写入CSV文件。

当然,还有许多其他的库。只是俺发现这对于俺的一个项目非常有用,因为俺必须生成一个一次性的CSV文件,所以俺编写了这个小教程。

在更面向性能的应用程序中,使用基于流的库(如fast-csv)可能适合您的需要。

npm install objects-to-csv

引入库:

const ObjectsToCsv = require('objects-to-csv')

当你有一个对象数组准备写入CSV,初始化一个新的ObjectsToCsv对象实例:

await csv.toDisk('./list.csv')

这是一个基于promise的API,我使用了await,所以需要在异步函数中调用它。

CSV中的列名是自动从对象属性名推断出来的。

注意,该命令覆盖文件的现有内容。要追加到该文件,传递第二个对象,将append属性设置为true:

await csv.toDisk('./list.csv', { append: true })

node.js读取csv文件教程

在node.js中有许多不同的npm模块允许您从CSV文件中读取书库。

它们中的大多数都基于流,比如csv-parser或node-csv。

它们对于在生产环境中处理CSV非常有用。

当我不考虑性能时,我喜欢让事情变得简单。例如,为了一次性解析CSV,我必须合并后端系统。

为此,俺使用了neat-csv,这是一个向简单的异步/等待接口公开csv解析器功能的包。

安装依赖

安装它使用npm安装neat-csv,并要求它在您的应用程序:

在你的项目中,使用npm或yarn安装neat-csv:

npm install neat-csv -S
npm yarn neat-csv -S

业务实现

引入neat-csv

const neatCsv = require('neat-csv');

然后从文件系统加载CSV,调用neatCsv传递文件内容:

const fs = require('fs')

fs.readFile('./file.csv', async (err, data) => {
  if (err) {
    console.error(err)
    return
  }
  console.log(await neatCsv(data))
})

现在,你就可以开始对数据进行任何需要的操作,数据的格式是JavaScript对象数组。

更多关于node.js操作csv文件方法请查看下面的相关链接

(0)

相关推荐

  • 教你用十行node.js代码读取docx的文本

    前言 最近有一个case.需要去解析word文档.有两个需求,一个是将word文档转成PDF,一个是将word文档中的内容按照一定的规范读取到数据库中,去npm仓库找了大概有十几个包,发现主要是通过以下的方式来转换代码. 通过调用系统底层程序(比如说office)的API来转换: 通过模板,替换数据来实现生成PDF: 通过有些免费将word转成PDF的网站来实现将word转成PDF,比如docx-to-pdf: 后来退而求其次,想通过先将docx转成文字,发现了个textract的包. 当然也有

  • node.js readline和line-reader逐行读取文件方法

    逐行读取文件的能力允许我们读取大文件,而无需将其全部存储到内存中.它有助于节省资源和提高应用程序的效率. 它允许我们寻找所需的信息,一旦找到了相关的信息,我们可以停止搜索过程,可以防止不必要的内存使用. 我们将使用Readline模块和Line-Reader模块来实现这一目标. 方法一 readline 使用Readline模块:Readline是Node的原生模块.它是专门为从任何可读流逐行读取内容而开发的.它可用于从命令行读取数据. 因为模块是Node的本机模块.js,它不需要任何安装,可以

  • node.js读取Excel数据(下载图片)的方法示例

    前言 因为组织观影活动需要统计报名和收集影评,选择微信小程序"报名工具",管理员下载数据发现影评只是一个图片的URL链接,需要自己手动下载,哪里能难倒程序员? 1. 下载的Excel数据表: 2. 代码: const xlsx = require('xlsx'); const mkdirp = require('mkdirp'); const request = require('request'); const fs = require('fs'); const workbook =

  • Node.js读取文件内容示例

    Node.js读取文件内容包括同步和异步两种方式. 1.同步读取,调用的是readFileSync var rf=require("fs"); var data=rf.readFileSync("test","utf-8"); console.log(data); console.log("READ FILE SYNC END"); 输出结果,先内容,后end 2.异步读取,调用readFile var rf=require(

  • node.js实现逐行读取文件内容的代码

    在此之前先介绍一个逐行读取文件内容NPM:https://github.com/nickewing/line-reader,需要的朋友可以看看. 直接上代码: function readLines(input, func) { var remaining = ''; input.on('data', function(data) { remaining += data; var index = remaining.indexOf('\n'); while (index > -1) { var l

  • node.js读取文件到字符串的方法

    本文实例讲述了node.js读取文件到字符串的方法.分享给大家供大家参考.具体分析如下: Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设你是在POSIX环境下运行它Linux 或 Mac OS X. 主要代码如下: var fs = require('fs'); var file = fs.readFileSync(path, "utf8"); console.log(file); 希望本文所述对大家的

  • node.js通过url读取文件

    本文实例为大家分享了node.js通过url读取文件的具体代码,供大家参考,具体内容如下 在浏览器地址栏中输入127.0.0.1:3000和127.0.0.1:3000/node时,读取node.html文件,输入127.0.0.1:3000/banner时读取banner.json文件 准备工作 首先我们在www的文件目录下新建两个文件,一个是node.htnl,一个是banner.json,并在文件中添加一点内容 1.新建01.js文件并导入模块 let fs = require("fs&q

  • Node.js中读取TXT文件内容fs.readFile()用法

    文件: read.js: var fs=require('fs'); fs.readFile('readtxt/demo.txt','utf-8',function(err,data){ if(err){ console.error(err); } else{ console.log(data); } }); 启动运行: Node.js读取文件函数语法如下: fs.readFile(filename,[encoding],[callback(err,data)]) filename(必选),表示

  • Node.js readline 逐行读取、写入文件内容的示例

    本文介绍了运用readline逐行读取的两种实现,分享给大家,具体如下: 什么是Readline Readline是Node.js里实现标准输入输出的封装好的模块,通过这个模块我们可以以逐行的方式读取数据流.使用require("readline")可以引用模块. 效果图如下: 左边1.log 为源文件 右边1.readline.log为复制后的文件 下边为命令行输出 实现方式一: var readline = require('readline'); var fs = require

  • Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法

    fs模块.js: /* 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 3. fs.writeFile 写入文件(文件不存在就创建,但不能创建目录) 4. fs.appendFile 写入追加文件 5.fs.readFile 读取文件 6.fs.readdir 读取目录 7.fs.rename 重命名 8. fs.rmdir 删除目录 9. fs.unlink 删除文件 */ var fs=require('fs');

  • node.js使用fs读取文件出错的解决方案

    今天配接口,使用fs模块读取json出现了错误'no such file or directory',然后经查终于解决,特此记录. 使用nodejs的fs模块读取文件时习惯用相对路径,但是运行的时候出现了上述的错误,原因就是fs模块读取文件的相对路径是以启动server.js的位置为基准的,而不是以server.js文件的位置. 这就是这篇文章所要讲述的问题.并且nodejs官方推荐在使用fs模块读取文件时使用绝对路径,而不是相对路径. 但是写绝对路径又有些许麻烦,那该如何解决呢,参考以下代码就

  • node.js读取命令行参数详解

    命令行参数(CLI)是在应用程序通过操作系统的命令行界面运行时用于向程序传递附加信息的文本字符串. 我们可以很容易地通过node中的全局对象(即process对象)读取这些参数. 下面是使用适当示例的方法. 案例一 步骤一 将文件保存为index.js,并将下面的代码粘贴到文件中. var arguments = process.argv ; console.log(arguments) ; 步骤二 使用下面命令运行index.js: node index.js 输出: 这个process.ar

随机推荐