我遇到一种情况,用户可以上传 csv 文件。这个 CSV 文件包含大量数据,但我只对 2 列(ID 和日期)感兴趣。目前,我正在使用 Papaparse 解析 CSV
Papa.parse(ev.data, {
delimiter: "",
newline: "",
quoteChar: '"',
header: true,
error: function(err, file, inputElem, reason) { },
complete: function (results) {
this.parsed_csv = results.data;
}
});
运行时,this.parsed_csv
表示由字段名称键入的数据对象。所以如果我 JSON.stringify
输出是这样的
[
{
"ID": 123456,
"Date": "2012-01-01",
"Irrelevant_Column_1": 123,
"Irrelevant_Column_2": 234,
"Irrelevant_Column_3": 345,
"Irrelevant_Column_4": 456
},
...
]
所以我的主要问题是如何删除我不需要的列,并只生成一个包含列 ID 和日期的新 csv?
谢谢
我意识到的一件事是,有没有办法添加动态变量。例如,我让用户选择我想要映射的列。现在我需要做这样的事情
let ID = this.selectedIdCol;
this.parsed_csv = results.data.map(element => ({ID: element.ID, Date: element.Date}));
但是据说ID 未被使用。谢谢
最佳答案
let data = [
{
"ID": 123456,
"Date": "2012-01-01",
"Irrelevant_Column_1": 123,
"Irrelevant_Column_2": 234,
"Irrelevant_Column_3": 345,
"Irrelevant_Column_4": 456
},
...
]
只需使用以下代码即可生成结果:
data = data.map(element => ({ID: element.ID, Date: element.Date}))
现在您已经有了所需的列,请在这些列上生成新的 CSV
关于javascript - 使用 Papaparse 从 CSV 文件中删除不需要的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54388047/