如何使用 javascript 读取和使用本地 CSV 文件中的列?
How to read and use a column in a local CSV file with javascript?
我有一个 CSV 文件,我只需要在终端中显示第二列。我正在使用 javascript 和 nodejs。我的 CSV 文件位于本地文件夹中。我的 CSV 数据如下所示:
name,emails,name1,email1,name2,email2,name3,email3,name4,email4,name5,email5
这就像一个有两列六行的数组,第一列是姓名,第二列是电子邮件。我只想 return 终端中没有标题的电子邮件列表。稍后我将不得不使用此电子邮件列表将其与其他数组进行比较。
我认为 papaparse
可以,但我不知道如何使用它。
我也知道 fs
模块可以用来读取整个文件。
如果可以像这样在有或没有keys/values的情况下转换数组中的数据,那也是完美的:
[ name:'name1', email:'email1', name:'name2', email:'email2', name:'name3', email:'email3', name:'name4', email:'email4', name:'name5', email:'email5' ]
知道我还必须使用另一个包含 9 列和 960 行的 CSV 文件来执行此操作。
此代码应按照您提到的格式解析 CSV 文件,例如
test.csv
name,emails
name1,email1
name2,email2
name3,email3
name4,email4
name5,email5
app.js
const Papa = require('papaparse');
const fs = require("fs");
let csvData = fs.readFileSync("test.csv", "utf-8");
csvData = csvData.trim().replace(/([^,]+),\s*([^,]+),\s*/gi, ',\n');
console.log("Adjusted csv:", csvData);
let { meta, data } = Papa.parse(csvData, { header: true });
console.log("Parsed data:", data);
console.log("Metadata:", meta);
解析后的数据如下所示:
[
{ name: 'name1', emails: 'email1' },
{ name: 'name2', emails: 'email2' },
{ name: 'name3', emails: 'email3' },
{ name: 'name4', emails: 'email4' },
{ name: 'name5', emails: 'email5' }
]
我有一个 CSV 文件,我只需要在终端中显示第二列。我正在使用 javascript 和 nodejs。我的 CSV 文件位于本地文件夹中。我的 CSV 数据如下所示:
name,emails,name1,email1,name2,email2,name3,email3,name4,email4,name5,email5
这就像一个有两列六行的数组,第一列是姓名,第二列是电子邮件。我只想 return 终端中没有标题的电子邮件列表。稍后我将不得不使用此电子邮件列表将其与其他数组进行比较。
我认为 papaparse
可以,但我不知道如何使用它。
我也知道 fs
模块可以用来读取整个文件。
如果可以像这样在有或没有keys/values的情况下转换数组中的数据,那也是完美的:
[ name:'name1', email:'email1', name:'name2', email:'email2', name:'name3', email:'email3', name:'name4', email:'email4', name:'name5', email:'email5' ]
知道我还必须使用另一个包含 9 列和 960 行的 CSV 文件来执行此操作。
此代码应按照您提到的格式解析 CSV 文件,例如
test.csv
name,emails name1,email1 name2,email2 name3,email3 name4,email4 name5,email5
app.js
const Papa = require('papaparse');
const fs = require("fs");
let csvData = fs.readFileSync("test.csv", "utf-8");
csvData = csvData.trim().replace(/([^,]+),\s*([^,]+),\s*/gi, ',\n');
console.log("Adjusted csv:", csvData);
let { meta, data } = Papa.parse(csvData, { header: true });
console.log("Parsed data:", data);
console.log("Metadata:", meta);
解析后的数据如下所示:
[
{ name: 'name1', emails: 'email1' },
{ name: 'name2', emails: 'email2' },
{ name: 'name3', emails: 'email3' },
{ name: 'name4', emails: 'email4' },
{ name: 'name5', emails: 'email5' }
]