ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • csv, json, xml 파일 데이터 읽기
    자바스크립트/기본문법 2023. 8. 7. 19:35

    csv는 데이터를 저장하는 파일 형식중 하나로,

    데이터를 텍스트로 저장하고 쉼표로 구분하기에 간단하고 가벼우며

    엑셀같은 스프레드시트로 별도의 처리 없이 바로 열 수 있다.

     

    const fs = require('fs');
    const csvParser = require('csv-parser');
    const filePath = 'data.csv';
    
    // 빈 배열을 만들어 CSV 파일 데이터를 저장할 변수
    const csvData = [];
    
    // CSV 파일 파싱
    fs.createReadStream(filePath)
      .pipe(csvParser())
      .on('data', (row) => {
        csvData.push(row); // 각 행을 배열에 추가
      })
      .on('end', () => {
        console.log('CSV parsing complete.');
        console.log('CSV Data:', csvData);
      })
      .on('error', (err) => {
        console.error('Error while parsing CSV:', err);
      });

    csv 파일의 데이터를 읽는 예제

    \n과 ,으로 직접 스플릿하는 것도 가능하다.

     

    const fs = require('fs');
    
    const filePath = 'data.json';
    
    // JSON 파일 읽기
    fs.readFile(filePath, 'utf8', (err, data) => {
      if (err) {
        console.error('Error while reading JSON file:', err);
        return;
      }
    
      try {
        const jsonData = JSON.parse(data); // JSON 데이터 파싱
    
        // 데이터 출력
        console.log('JSON Data:', jsonData);
      } catch (parseError) {
        console.error('Error while parsing JSON:', parseError);
      }
    });

    json은 데이터 전송뿐만 아니라 파일 형태로도 저장 가능하다.

    별도의 모듈 없이 빠르게 parse할 수 있어서 편리하다.

     

     

    XML은 json과 유사하나 각각의 요소가 태그 안에 둘러쌓여있어

    경량화된 json에게 밀리는 추세

     

    const fs = require('fs');
    const xml2js = require('xml2js');
    
    // XML 파일 경로
    const xmlFile = 'example.xml';
    
    // XML 데이터를 읽기
    fs.readFile(xmlFile, 'utf-8', (err, data) => {
      if (err) {
        console.error('Error reading XML file:', err);
        return;
      }
    
      // XML 파싱
      xml2js.parseString(data, (err, result) => {
        if (err) {
          console.error('Error parsing XML:', err);
          return;
        }
    
        // XML 데이터 출력 예제
        const books = result.catalog.book;
        books.forEach(book => {
          const title = book.title[0];
          const author = book.author[0];
          const published = book.published[0];
    
          console.log('Title:', title);
          console.log('Author:', author);
          console.log('Published:', published);
          console.log();
        });
      });
    });

    역시나 전용 패키지를 import하고 데이터를 읽으면 된다.

     

    '자바스크립트 > 기본문법' 카테고리의 다른 글

    예외처리 - throw, try, catch  (0) 2023.08.07
    Enum (열거형)  (0) 2023.08.07
    JS Queue  (0) 2023.08.05
    정규표현식  (0) 2023.08.03
    async & await  (0) 2023.07.29
Designed by Tistory.