gpt4 book ai didi

javascript - 使用nodejs中的fast-csv根据列值将csv文件拆分为多个csv文件

转载 作者:行者123 更新时间:2023-12-03 00:23:57 25 4
gpt4 key购买 nike

我有一个 csv 文件,如下所示:

ID   Name   TNumber
123 John 123456
123 Joe 789012
124 Tim 896578
124 Tom 403796

我想根据 ID 列将其拆分为 2 个单独的 csv 文件。

我正在使用 fast-csv 来解析 csv 并进行其他修改。我需要将文件分成两个(在上述情况下),然后执行其他操作。我怎样才能实现这个目标?

最佳答案

这有效:

const fs = require('fs');
const fastCsv = require('fast-csv');

const datas = {}; // data['123'] = CSV data filtered for id = 123
const options = {headers: true, delimiters: '\t'}; // relative to your CSV usage

fastCsv
.fromPath('./data.csv', options)
.on('data', d => {
if (!datas[d.id]) datas[d.id] = [];
datas[d.id].push(d)
})
.on('end', () => {
Object.keys(datas).forEach(id => {
// For each ID, write a new CSV file
fastCsv
.write(datas[id], options)
.pipe(fs.createWriteStream(`./data-id-${id}.csv`));
})
});

此外,这应该相当快。

关于javascript - 使用nodejs中的fast-csv根据列值将csv文件拆分为多个csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54174236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com