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文件方法请查看下面的相关链接