JavaScript는 CSV 파일을 파싱하는데 다양한 방법을 제공한다. 이 포스트에서는 D3-dsv, PapaParse, 그리고 직접 구현이라는 세 가지 일반적인 방법을 살펴보겠다.
CSV 파일을 파싱하기 전에, 시스템에 Node.js가 설치되어 있는지 확인해야 한다. 공식 웹사이트에서 다운로드 받을 수 있다. 설치가 완료되면, 아래의 명령어를 통해 버전을 확인하실 수 있다.
node --version
먼저, D3-dsv부터 시작해 본다. 이는 CSV와 TSV 파일을 파싱하고 포맷팅하는데 강력한 모듈이다. 아래의 명령어로 모듈을 설치할 수 있다.
npm install d3-dsv
아래는 D3-dsv를 이용해 CSV 파일을 파싱하는 예시이다.
const fs = require('fs');
const d3 = require('d3-dsv');
fs.readFile('data.csv', 'utf8', (error, data) => {
if (error) throw error;
const parsedData = d3.csvParse(data);
console.log(parsedData);
});
PapaParse는 CSV 파일 파싱에 있어서 광범위하고, 사용자 친화적이며, 효율적인 라이브러리이다. PapaParse를 설치하려면 아래의 명령어를 이용해보자.
npm install papaparse
이제 PapaParse를 이용하여 CSV 파일을 파싱하는 방법을 보겠다.
const fs = require('fs');
const Papa = require('papaparse');
fs.readFile('data.csv', 'utf8', (error, data) => {
if (error) throw error;
const parsedData = Papa.parse(data, {header: true}).data;
console.log(parsedData);
});
간단한 CSV 파일의 경우, 외부 라이브러리가 필요하지 않을 수 있다. 아래는 JavaScript를 이용해 CSV 파일을 직접 파싱하는 방법이다.
const fs = require('fs');
fs.readFile('data.csv', 'utf8', (error, data) => {
if (error) throw error;
const lines = data.split('\n');
const headers = lines[0].split(',');
const parsedData = lines.slice(1).map(line => {
const values = line.split(',');
let obj = {};
headers.forEach((header, i) => {
obj[header] = values[i];
});
return obj;
});
console.log(parsedData);
});
위의 예시들을 따라하면, JavaScript에서 D3-dsv, PapaParse, 혹은 직접 구현을 통해 CSV 파일을 파싱할 수 있다.
CloneCoding
한 줄의 코드에서 시작되는 혁신!