Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
在解決問題之道上不斷前行
新年快樂!這篇純粹做一個小筆記,常常做資料處理的話一定很常遇到這類需求,將JSON轉換成CSV(JSON to CSV),當然也會有反過來的狀況,那就有機會再寫吧XD
我這次採用json-2-csv這個套件,本篇就整理一下json-2-csv的用法囉。
$ npm install json-2-csv --save
範例如下,以下範例接用require引入
// require json-2-csv module
const converter = require('json-2-csv')
// 定義一個JSON資料
const rawJson = [
{
id: 1,
title: '標題1',
description: '標題1的敘述'
},
{
id: 1,
title: '標題3',
description: '標題3的敘述'
},
{
id: 3,
title: '標題3',
description: '標題3的敘述'
}
]
// 轉換JSON到CSV中的欄位字串
converter.json2csv(rawJson, (err, csv) => {
if (err) {
throw err
}
// 輸出CSV字串資料
console.log(csv)
/*會長這樣
id,title,description
1,標題1,標題1的敘述
2,標題2,標題2的敘述
3,標題3,標題3的敘述
*/
})
使用fs輸出字串就可以囉
const fs = require('fs')
...
...
// 轉換JSON到CSV中的欄位字串
converter.json2csv(rawJson, (err, csv) => {
if (err) {
throw err
}
// 輸出CSV字串資料
console.log(csv)
// 輸出CSV檔案
fs.writeFileSync('json2csv.csv', csv)
})
// 從檔案讀取JSON
const todos = JSON.parse(fs.readFileSync('rawJson.json'))
// 轉換JSON到CSV中的欄位字串
(async () => {
try {
const csv = await converter.json2csvAsync(todos)
// 輸出CSV字串資料
console.log(csv)
// 輸出CSV檔案
fs.writeFileSync('json2csv.csv', csv)
} catch (err) {
console.log(err)
}
})()
json-2-csv非常簡單使用,參考文件在這邊
那就祝大家新年快樂囉!