node.js生成與讀取csv文件方法詳解
nodejs使用object-to-CSV庫生成csv文件
object-to-CSV是一個(gè)非常棒的庫,可以使用nodejs將對(duì)象數(shù)組快速寫入CSV文件。
當(dāng)然,還有許多其他的庫。只是俺發(fā)現(xiàn)這對(duì)于俺的一個(gè)項(xiàng)目非常有用,因?yàn)榘潮仨毶梢粋€(gè)一次性的CSV文件,所以俺編寫了這個(gè)小教程。
在更面向性能的應(yīng)用程序中,使用基于流的庫(如fast-csv)可能適合您的需要。
npm install objects-to-csv
引入庫:
const ObjectsToCsv = require('objects-to-csv')
當(dāng)你有一個(gè)對(duì)象數(shù)組準(zhǔn)備寫入CSV,初始化一個(gè)新的ObjectsToCsv對(duì)象實(shí)例:
await csv.toDisk('./list.csv')
這是一個(gè)基于promise的API,我使用了await,所以需要在異步函數(shù)中調(diào)用它。
CSV中的列名是自動(dòng)從對(duì)象屬性名推斷出來的。
注意,該命令覆蓋文件的現(xiàn)有內(nèi)容。要追加到該文件,傳遞第二個(gè)對(duì)象,將append屬性設(shè)置為true:
await csv.toDisk('./list.csv', { append: true })
node.js讀取csv文件教程
在node.js中有許多不同的npm模塊允許您從CSV文件中讀取書庫。
它們中的大多數(shù)都基于流,比如csv-parser或node-csv。
它們對(duì)于在生產(chǎn)環(huán)境中處理CSV非常有用。
當(dāng)我不考慮性能時(shí),我喜歡讓事情變得簡(jiǎn)單。例如,為了一次性解析CSV,我必須合并后端系統(tǒng)。
為此,俺使用了neat-csv,這是一個(gè)向簡(jiǎn)單的異步/等待接口公開csv解析器功能的包。
安裝依賴
安裝它使用npm安裝neat-csv,并要求它在您的應(yīng)用程序:
在你的項(xiàng)目中,使用npm或yarn安裝neat-csv:
npm install neat-csv -S npm yarn neat-csv -S
業(yè)務(wù)實(shí)現(xiàn)
引入neat-csv
const neatCsv = require('neat-csv');
然后從文件系統(tǒng)加載CSV,調(diào)用neatCsv傳遞文件內(nèi)容:
const fs = require('fs') fs.readFile('./file.csv', async (err, data) => { if (err) { console.error(err) return } console.log(await neatCsv(data)) })
現(xiàn)在,你就可以開始對(duì)數(shù)據(jù)進(jìn)行任何需要的操作,數(shù)據(jù)的格式是JavaScript對(duì)象數(shù)組。
更多關(guān)于node.js操作csv文件方法請(qǐng)查看下面的相關(guān)鏈接
相關(guān)文章
Node.js?中的?RSA?加密、解密、簽名與驗(yàn)證
RSA加密算法因其非對(duì)稱的特性,廣泛應(yīng)用于數(shù)據(jù)的加密、解密、簽名和驗(yàn)證等安全領(lǐng)域,本文主要介紹了Node.js?中的?RSA?加密、解密、簽名與驗(yàn)證,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08NodeJS學(xué)習(xí)筆記之Connect中間件應(yīng)用實(shí)例
前面我們介紹了幾篇內(nèi)容的connect中間件的基礎(chǔ)知識(shí),今天我們來實(shí)例應(yīng)用一下,做個(gè)記事本的小應(yīng)用,希望大家能夠喜歡。2015-01-01Node.js動(dòng)手?jǐn)]一個(gè)靜態(tài)資源服務(wù)器的方法
這篇文章主要介紹了Node.js動(dòng)手?jǐn)]一個(gè)靜態(tài)資源服務(wù)器的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03Node.js如何優(yōu)雅的封裝一個(gè)實(shí)用函數(shù)的npm包的方法
這篇文章主要介紹了Node.js如何優(yōu)雅的封裝一個(gè)實(shí)用函數(shù)的npm包的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04利用node.js如何創(chuàng)建子進(jìn)程詳解
之前看多進(jìn)程這一章節(jié)時(shí)發(fā)現(xiàn)這塊東西挺多,寫Process模塊的時(shí)候也有提到,今天下午午休醒來靜下心來好好的看了一遍,發(fā)現(xiàn)也不是太難理解。所以下面這篇文章主要給大家介紹了關(guān)于利用node.js如何創(chuàng)建子進(jìn)程的相關(guān)資料,需要的朋友可以參考下。2017-12-12解決Window10系統(tǒng)下Node安裝報(bào)錯(cuò)的問題分析
今天電腦重裝了win10系統(tǒng),在安裝Node的過程中出現(xiàn)了下面的問題,下面就和大家分享下用來解決這種問題的小方法2016-12-12三分鐘教你用Node做一個(gè)微信哄女友神器(面向小白)
這篇文章主要介紹了三步教你用Node做一個(gè)微信哄女友神器(面向小白),用node和wechaty微信網(wǎng)頁接口開發(fā)的一款小工具,可以定時(shí)給女朋友發(fā)每天的天氣情況,天氣提醒,每日一句,通過配置機(jī)器人api后還可以實(shí)現(xiàn)微信機(jī)器人自動(dòng)陪女朋友聊天,需要的朋友可以參考下2019-06-06用nodejs的實(shí)現(xiàn)原理和搭建服務(wù)器(動(dòng)態(tài))
下面小編就為大家?guī)硪黄胣odejs的實(shí)現(xiàn)原理和搭建服務(wù)器(動(dòng)態(tài))。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08