CSV を配列に変換する

JavaScriptJavaScriptBeginner
オンラインで実践に進む

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、JavaScript を使ってカンマ区切り値 (CSV) データを 2 次元配列に変換する方法を探ります。CSV 文字列を入力として受け取り、それを配列の配列に変換する CSVToArray() 関数を使います。この実験は、CSV データを扱い、JavaScript を使って操作する方法を理解するのに役立ちます。

CSV を配列に変換する

カンマ区切り値 (CSV) 文字列を 2 次元配列に変換するには、次の手順に従います。

  1. ターミナル/SSH を開き、コーディングを開始するために node と入力します。
  2. Array.prototype.indexOf() を使って最初の改行文字 (\n) を見つけます。
  3. omitFirstRowtrue に設定されている場合、最初の行 (タイトル行) を削除するために Array.prototype.slice() を使います。
  4. String.prototype.split() を使って各行に対して文字列を作成します。
  5. 各行の値を指定された delimiter を使って区切るために String.prototype.split() を使います。
  6. 2 番目の引数 delimiter を指定しない場合、既定の区切り文字 ',' が使用されます。
  7. 3 番目の引数 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 でさらに多くの実験を行って練習してください。