JSON を CSV に変換する

JavaScriptJavaScriptBeginner
今すぐ練習

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

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

はじめに

この実験では、JavaScript プログラミングの世界に入り、JSON データを CSV 形式に変換するプロセスを探求します。この実験を通じて、join()map()reduce() などの組み込みメソッドを使用して、オブジェクトの配列をスプレッドシートソフトウェアで簡単に読み取り、操作できる文字列に変換する方法を学びます。この実験は、JavaScript のデータ操作を深く理解したい人に最適です。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic 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/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") javascript/AdvancedConceptsGroup -.-> javascript/template_lit("Template Literals") subgraph Lab Skills javascript/variables -.-> lab-28457{{"JSON を CSV に変換する"}} javascript/data_types -.-> lab-28457{{"JSON を CSV に変換する"}} javascript/arith_ops -.-> lab-28457{{"JSON を CSV に変換する"}} javascript/comp_ops -.-> lab-28457{{"JSON を CSV に変換する"}} javascript/array_methods -.-> lab-28457{{"JSON を CSV に変換する"}} javascript/higher_funcs -.-> lab-28457{{"JSON を CSV に変換する"}} javascript/destr_assign -.-> lab-28457{{"JSON を CSV に変換する"}} javascript/spread_rest -.-> lab-28457{{"JSON を CSV に変換する"}} javascript/template_lit -.-> lab-28457{{"JSON を CSV に変換する"}} end

JSON を CSV に変換する

指定された列を持つオブジェクトの配列をカンマ区切り値 (CSV) の文字列に変換するには、次の関数を使用します。

const JSONtoCSV = (arr, columns, delimiter = ",") =>
  [
    columns.join(delimiter),
    ...arr.map((obj) =>
      columns.reduce(
        (acc, key) =>
          `${acc}${!acc.length ? "" : delimiter}"${!obj[key] ? "" : obj[key]}"`,
        ""
      )
    )
  ].join("\n");

これを使用するには、次の手順に従います。

  1. ターミナル/SSH を開き、コーディングを練習するために node と入力します。
  2. JSONtoCSV 関数に次の引数を渡します。
    • arr: 変換するオブジェクトの配列。
    • columns: CSV 出力に含める列を指定する文字列の配列。
    • delimiter: 使用する区切り文字を指定するオプショナルな文字列 (既定値は ',')。
  3. 関数は、指定された列とオブジェクトの値のみを含む CSV 文字列を返します。
  4. 区切り文字が指定されていない場合、既定の区切り文字 ',' が使用されます。
  5. 関数の使用方法の例は、以下のコード ブロックに示してあります。
JSONtoCSV(
  [{ a: 1, b: 2 }, { a: 3, b: 4, c: 5 }, { a: 6 }, { b: 7 }],
  ["a", "b"]
); // 'a,b\n"1","2"\n"3","4"\n"6",""\n"","7"'

JSONtoCSV(
  [{ a: 1, b: 2 }, { a: 3, b: 4, c: 5 }, { a: 6 }, { b: 7 }],
  ["a", "b"],
  ";"
); // 'a;b\n"1";"2"\n"3";"4"\n"6";""\n"";"7"'

まとめ

おめでとうございます!あなたは JSON から CSV の実験を完了しました。あなたの技術を向上させるために、LabEx でさらに多くの実験を練習することができます。