node利用 fs 模块生成 csv_node fs csv
node 的 fs 模块是非常常用的模块,用来操作文件,文件夹等非常方便。
在前后端开发中,时常需要将数据导出为 csv,txt,甚至 pdf,网上很多案例都是使用了第三方库。
其实,fs 模块就足以帮我们完成简单的数据导出到文件操作。
下面,让我们用案例来看下,如何将数据导出为 csv 文件。
- 新建文件夹 node-csv
- 在文件夹内新建文件 demo.js
- 用编辑器打开,编辑 demo.js
`const { promises: { readFile, writeFile, mkdir } } = require('fs');
(async () => {
let list = []
for (let i = 0; i < 10; i += 1) {
list.push({
id: i,
name: '小明',
age: 18,
address: '北京市海淀区农业科学院',
phone: '13313366789',
})
}
let title = Object.keys(list[1])
let csvContent = 'ufeff' + title.join(',') + 'n'
list.forEach((item, index) => {
let c = Object.values(item).join(',') + 'n'
csvContent += c
})
await mkdir('download')
await writeFile('./download/data.csv', csvContent)
await writeFile('./download/data.json', JSON.stringify(list))
console.log('File generated successfully,open download to check')
})()`

保存后在 cmd 或者 terminal 中运行如下命令
`node demo`
当你看到这样的提示
`ExperimentalWarning: The fs.promises API is experimental
File generated successfully,open download to check`
就说明成功了,然后打开 download 文件夹,查看生成的 csv 和 json 文件即可
License:
CC BY 4.0