node js,从csv文件中读取特定列,并将其转换为要在其他函数中使用的数组

编程入门 行业动态 更新时间:2024-10-10 16:24:20

node js,从csv文件中读取特定列,并将其转换为<a href=https://www.elefans.com/category/jswz/34/1751042.html style=要在其他函数中使用的数组"/>

node js,从csv文件中读取特定列,并将其转换为要在其他函数中使用的数组

我正在尝试掌握使用节点js解析CSV文件的基本知识。

我编写了一个简单的函数来获取数组中每个字符串的最后一个字符(在我的情况下,它始终是一个数字),并向我显示最大数字:

var ARRAY_OF_ALL_EMAILS = ["email_1", "email_22"]


function GET_NUMBER() {
    let MAXIMAL_NUMBER;
    for (let i = 0; i < ARRAY_OF_ALL_EMAILS.length; i += 1) {
        if (MAXIMAL_NUMBER == null || MAXIMAL_NUMBER == undefined || MAXIMAL_NUMBER < (ARRAY_OF_ALL_EMAILS[i].slice(-1))) {
            MAXIMAL_NUMBER = (ARRAY_OF_ALL_EMAILS[i].slice(-1))
        }
    }
    return MAXIMAL_NUMBER;
}


let MAXIMAL_NUMBER_FINAL = GET_NUMBER();
console.log(MAXIMAL_NUMBER_FINAL);

这段代码按预期工作:

> node index.js
> 2

但是我想做的是解析一个csv文件,仅提取该文件的col2并将值存储在我的变量var ARRAY_OF_ALL_EMAILS;中,因此它的行为就像我以这种方式声明了数组:var ARRAY_OF_ALL_EMAILS = ["email_1", "email_2"]

我设法成功解析了整个csv文件,但是当我尝试仅使用某个列时,我总是会失败。

[能否请您告诉我如何仅使用CSV文件中的特定列并将其存储为数组,以便可以在GET_NUMBER函数中使用它?我知道应该可以通过索引或名称来实现,但对我来说根本行不通。

csv的示例:

col1,col2,col3,col4
aaa1,aaa_1,aaa3,aaa4
bbb1,bbb_2,bbb3,bbb4
ccc1,ccc_3,ccc3,ccc4

为此,我正在使用csv软件包(npm install csv

谢谢

回答如下:

我使用示例数据集改编了https://csv.js/parse/api/sync/中的示例。以下代码未经测试。

const parse = require('csv-parse/lib/sync'); //include

//the dataset
const input = `
col1,col2,col3,col4
aaa1,aaa_1,aaa3,aaa4
bbb1,bbb_2,bbb3,bbb4
ccc1,ccc_3,ccc3,ccc4
`;

//calling the npm package and save to records
const records = parse(input, {
  columns: true,
  skip_empty_lines: true
});
//map the output from csv-parse to the column
const column_two = records.map(rec => rec["col2"]);

更多推荐

node js,从csv文件中读取特定列,并将其转换为要在其他函数中使用的数组

本文发布于:2024-05-07 12:14:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756193.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:要在   数组   转换为   函数   文件

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!