在Node.js中的CSV文件中遍历单元格



我有一个CSV文件:"myCSV.csv";具有两列:";第一个";以及";第二";。

里面的所有数据都只是数字。所以文件看起来像这样:

first, second
138901801, 849043027
389023890, 382903205
749029820, 317891093
...

我想对这些数字进行迭代,并对它们执行一些自定义解析,然后将结果存储在数组中。

我如何才能实现以下行为?

const parsedData = [];
for (const row of file) {
parsedData.push(row[0].toString() + row[1].toString());
}

如果您使用的是用户在浏览器中选择的文件,则会根据用户的操作生成一个FileReader。(参见FileReader-MDN。(


但听起来你的服务器上已经有了文件,在这种情况下,你会使用Node的内置文件系统模块。(参见文件系统-NodeJS。(

如果你只想要模块的readFile功能,你需要在你的文件中使用它,比如:

const {readFile} = require("fs");

你可以用它来处理一个文本文件,比如:

readFile("myFile.txt", "utf8", (error, textContent) => {
if(error){ throw error; }
const parsedData = [];
for(let row of textContent.split("n")){
const rowItems = row.split(",");
parsedData.push(rowItems[0].toString() + rowItems[1].toString());
}
}

(请参阅Node.js-Eloquent JavaScript(。


但是,如果您想将CSV直接作为二进制数据处理(而不是在读取之前转换为文本文件(,则需要在调用readFile:之前添加类似内容

const textContent = String.fromCharCode.apply(null, new Uint16Array(buffer));

其中箭头函数中的CCD_ 3参数被CCD_
(如果Uint16Array的大小错误,则可能是Uint8Array。请参阅缓冲区到字符串-谷歌。(


您可能还发现这些资源很有用:
JS CSV教程-SeegateSite
JS-read-text演示-GeeksForGeeks

相关内容

  • 没有找到相关文章

最新更新