JSON 을 CSV 로 변환하기

Beginner

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

소개

이 랩에서는 JavaScript 프로그래밍 세계에 뛰어들어 JSON 데이터를 CSV 형식으로 변환하는 과정을 탐구합니다. 이 랩을 통해 join(), map(), 그리고 reduce()와 같은 내장 메서드를 사용하여 객체 배열을 스프레드시트 소프트웨어에서 쉽게 읽고 조작할 수 있는 문자열로 변환하는 방법을 배우게 됩니다. 이 랩은 JavaScript 에서 데이터 조작에 대한 더 깊은 이해를 얻고자 하는 분들에게 적합합니다.

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 to CSV 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.