javascript - 使用 Papaparse 从 CSV 文件中删除不需要的列

标签 javascript csv papaparse

我遇到一种情况,用户可以上传 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/

相关文章:

python - 防止 csvkit 修改日期/时间?

callback - 使用 Papaparse 回调函数中的数据

javascript - 使用 Javascript 将数据格式化为 Firebase

javascript - React Service Worker 无法访问

javascript - JS 过滤器/自动完成

javascript - 有没有一种简单的方法可以在 d3.csvParse 遇到空行时停止它?

file - 是否可以使用 Pandas 的 read_csv 读取分类列?

javascript - 使用 PapaParse transformHeader 删除标题中的空格?

javascript - VueJS - PapaParse 在 console.log 中获取数据但无法在屏幕上输出

javascript - 为什么设置的超时会因页面重新加载而失效以及如何避免?