55

Node.jsで CSV にデータを書き込む方法を見つけるのに苦労しています。

利用可能な CSV プラグインがいくつかありますが、それらは stdout に「書き込む」だけです。

理想的には、ループを使用してごとに書き込みたいと考えています。

4

7 に答える 7

33

node-csv-parser( )のドキュメントでnpm install csvは、ストリームで使用できると明確に述べられています ( fromStream、を参照toStream)。そのため、stdout を使用するようにハードコーディングされていません。

他にもいくつかの CSV パーサーnpm search csvが表示されます。それらも参照してください。

于 2012-04-19T12:02:57.993 に答える
1

** 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)
            }
        });
}
于 2021-07-08T04:25:41.770 に答える