Node.jsで CSV にデータを書き込む方法を見つけるのに苦労しています。
利用可能な CSV プラグインがいくつかありますが、それらは stdout に「書き込む」だけです。
理想的には、ループを使用して行ごとに書き込みたいと考えています。
Node.jsで CSV にデータを書き込む方法を見つけるのに苦労しています。
利用可能な CSV プラグインがいくつかありますが、それらは stdout に「書き込む」だけです。
理想的には、ループを使用して行ごとに書き込みたいと考えています。
node-csv-parser
( )のドキュメントでnpm install csv
は、ストリームで使用できると明確に述べられています ( fromStream
、を参照toStream
)。そのため、stdout を使用するようにハードコーディングされていません。
他にもいくつかの CSV パーサーnpm search csv
が表示されます。それらも参照してください。
** fs 以外のライブラリを使用したくない場合は、手動で行うことができます。さらに、CSVファイルに書きたいようにデータをフィルタリングできます**
router.get('/apiname', (req, res) => {
const data = arrayOfObject; // you will get from somewhere
/*
// Modify old data (New Key Names)
let modifiedData = data.map(({ oldKey1: newKey1, oldKey2: newKey2, ...rest }) => ({ newKey1, newKey2, ...rest }));
*/
const path = './test'
writeToFile(path, data, (result) => {
// get the result from callback and process
console.log(result) // success or error
});
});
writeToFile = (path, data, callback) => {
fs.writeFile(path, JSON.stringify(data, null, 2), (err) => { // JSON.stringify(data, null, 2) help you to write the data line by line
if (!err) {
callback('success');
// successfull
}
else {
callback('error');
// some error (catch this error)
}
});
}