将数组值附加到csv

我想获取一些输出并将输出附加到csv

这是我到目前为止的代码:

async function writeData() {
    const csv = require('csv-parser')
    const results = [];
    fs.createReadStream('C:\\Users\\User\\Documents\\testingclean.csv')
        .pipe(csv())
        .on('data',(data)=> results.push(data))
        .on('end',async () => {
            const cookieJar = await getcookieJar();
            const promises = [];
            results.forEach((data) => {
                promises.push(boxrec.getPersonById(cookieJar,data.id));
            })
            try {
                const fighters = await Promise.all(promises);
                fighters.forEach((fighter)=>{
                    boxer = JSON.parse(JSON.stringify(fighter.output));
                    fs.appendFile('C:\\Users\\User\\Documents\\newtest.csv',boxer,(err) => {
                        if (err) console.error('Could not append data to csv');
                        console.log('Data successfully appended');
                    })
                });
            } catch (e) {
                console.log(e);
            }
        })
};
try {
    writeData();
} catch (error) {
    console.log("Error in writeData: " + error);
}

但是运行此代码不会产生所需的csv输出。

我专门写给csv,是因为我读到我不能追加到json(理想情况下是想将数据写入json)

as516344224 回答:将数组值附加到csv

如果您没有任何写入CSV文件的内容,则应在程序结束时显式关闭它:

var readsteam = fs.createReadStream();
...
readStream.destroy();

不确定,但这应该是完整的代码:

async function writeData() {
    const csv = require('csv-parser')
    const results = [];
    var readsteam = fs.createReadStream('C:\\Users\\User\\Documents\\testingclean.csv');
    readsteam
        .pipe(csv())
        .on('data',(data)=> results.push(data))
        .on('end',async () => {
            const cookieJar = await getCookieJar();
            const promises = [];
            results.forEach((data) => {
                promises.push(boxrec.getPersonById(cookieJar,data.id));
            })
            try {
                const fighters = await Promise.all(promises);
                fighters.forEach((fighter)=>{
                    boxer = JSON.parse(JSON.stringify(fighter.output));
                    fs.appendFile('C:\\Users\\User\\Documents\\newtest.csv',boxer,(err) => {
                        if (err) console.error('Could not append data to csv');
                        console.log('Data successfully appended');
                    })
                });
            } catch (e) {
                console.log(e);
            }
        }
    readsteam.destroy();
};
try {
    writeData();
} catch (error) {
    console.log("Error in writeData: " + error);
}
本文链接:https://www.f2er.com/3158934.html

大家都在问