将CSV转换为数组

JavaScriptJavaScriptBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将探索如何使用 JavaScript 将逗号分隔值(CSV)数据转换为二维数组。我们将使用 CSVToArray() 函数,该函数以 CSV 字符串作为输入,并将其转换为数组的数组。本实验将帮助你了解如何处理 CSV 数据并使用 JavaScript 对其进行操作。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("`JavaScript`")) -.-> javascript/BasicConceptsGroup(["`Basic Concepts`"]) javascript(("`JavaScript`")) -.-> javascript/AdvancedConceptsGroup(["`Advanced Concepts`"]) javascript/BasicConceptsGroup -.-> javascript/variables("`Variables`") javascript/BasicConceptsGroup -.-> javascript/data_types("`Data Types`") javascript/BasicConceptsGroup -.-> javascript/arith_ops("`Arithmetic Operators`") javascript/BasicConceptsGroup -.-> javascript/comp_ops("`Comparison Operators`") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("`Higher-Order Functions`") subgraph Lab Skills javascript/variables -.-> lab-28229{{"`将CSV转换为数组`"}} javascript/data_types -.-> lab-28229{{"`将CSV转换为数组`"}} javascript/arith_ops -.-> lab-28229{{"`将CSV转换为数组`"}} javascript/comp_ops -.-> lab-28229{{"`将CSV转换为数组`"}} javascript/higher_funcs -.-> lab-28229{{"`将CSV转换为数组`"}} end

将 CSV 转换为数组

要将逗号分隔值(CSV)字符串转换为二维数组,请执行以下步骤:

  1. 打开终端/SSH 并输入 node 开始编码。
  2. 使用 Array.prototype.indexOf() 定位第一个换行符(\n)。
  3. 如果 omitFirstRow 设置为 true,则使用 Array.prototype.slice() 删除第一行(标题行)。
  4. 使用 String.prototype.split() 为每一行创建一个字符串。
  5. 使用 String.prototype.split() 使用提供的 delimiter 分隔每一行中的值。
  6. 如果你不提供第二个参数 delimiter,将使用默认分隔符 ','
  7. 如果你不提供第三个参数 omitFirstRow,CSV 字符串的第一行(标题行)将被包含在内。

以下是将 CSV 转换为数组的代码:

const CSVToArray = (data, delimiter = ",", omitFirstRow = false) =>
  data
    .slice(omitFirstRow ? data.indexOf("\n") + 1 : 0)
    .split("\n")
    .map((v) => v.split(delimiter));

你可以使用以下示例测试该函数:

CSVToArray("a,b\nc,d"); // [['a', 'b'], ['c', 'd']];
CSVToArray("a;b\nc;d", ";"); // [['a', 'b'], ['c', 'd']];
CSVToArray("col1,col2\na,b\nc,d", ",", true); // [['a', 'b'], ['c', 'd']];

总结

恭喜你!你已经完成了将 CSV 转换为数组的实验。你可以在 LabEx 中练习更多实验来提升你的技能。

您可能感兴趣的其他 JavaScript 教程