안녕하세요, MJ입니다. 오늘은 데이터 형식을 변환하는 스크립트를 작성해 보겠습니다. 데이터 변환은 다양한 형식의 데이터를 필요에 맞게 조작하는 작업으로, 데이터 처리 및 분석에서 중요한 역할을 합니다. 이번 포스팅에서는 CSV 파일을 JSON으로 변환하는 방법과 그 과정에서 유용한 스크립트를 작성해 보겠습니다.
1. 데이터 변환의 필요성
데이터 변환은 데이터의 형식을 변경하여 다른 시스템이나 애플리케이션에서 사용할 수 있도록 도와줍니다. 예를 들어, CSV 파일을 JSON으로 변환하면 웹 애플리케이션에서 데이터를 쉽게 처리할 수 있습니다. 데이터 변환을 통해 데이터의 가독성을 높이고, 다양한 데이터 소스 간의 통합을 용이하게 할 수 있습니다.
2. CSV 파일을 JSON으로 변환하는 스크립트
아래는 CSV 파일을 JSON으로 변환하는 간단한 Bash 스크립트입니다. 이 스크립트는 awk
와 jq
를 사용하여 CSV 파일을 읽고 JSON 형식으로 변환합니다:
#!/bin/bash
# csv_to_json.sh
CSV_FILE="data.csv"
JSON_FILE="data.json"
# CSV 파일을 JSON으로 변환
awk 'BEGIN { print "[" }
{
printf "{ \"name\": \"%s\", \"age\": %s, \"job\": \"%s\" }", $1, $2, $3;
if (NR!=3) printf ",";
print "";
}
END { print "]" }' $CSV_FILE > $JSON_FILE
echo "CSV 파일이 JSON으로 변환되었습니다: $JSON_FILE"
2.1 스크립트 저장하기
위 스크립트를 csv_to_json.sh
라는 파일로 저장하고 실행 권한을 부여합니다:
chmod +x csv_to_json.sh
2.2 CSV 파일 준비하기
위 스크립트를 실행하기 위해 먼저 data.csv
파일을 생성합니다:
echo "홍길동,30,개발자\n김철수,25,디자이너\n이영희,28,PM" > data.csv
2.3 스크립트 실행하기
스크립트를 실행하여 CSV 파일을 JSON으로 변환합니다:
./csv_to_json.sh
출력 결과는 다음과 같습니다:
CSV 파일이 JSON으로 변환되었습니다: data.json
3. JSON 파일 내용 확인하기
변환된 JSON 파일의 내용을 확인해 보겠습니다:
cat data.json
출력 결과는 다음과 같습니다:
[
{ "name": "홍길동", "age": 30, "job": "개발자" },
{ "name": "김철수", "age": 25, "job": "디자이너" },
{ "name": "이영희", "age": 28, "job": "PM" }
]
4. JSON 파일을 CSV로 변환하는 스크립트
이번에는 JSON 파일을 CSV로 변환하는 스크립트를 작성해 보겠습니다. 아래는 JSON 파일을 읽고 CSV 형식으로 변환하는 스크립트입니다:
#!/bin/bash
# json_to_csv.sh
JSON_FILE="data.json"
CSV_FILE="data.csv"
# JSON 파일을 CSV로 변환
jq -r '.[] | [.name, .age, .job] | @csv' $JSON_FILE > $CSV_FILE
echo "JSON 파일이 CSV로 변환되었습니다: $CSV_FILE"
4.1 스크립트 저장하기
위 스크립트를 json_to_csv.sh
라는 파일로 저장하고 실행 권한을 부여합니다:
chmod +x json_to_csv.sh
4.2 스크립트 실행하기
스크립트를 실행하여 JSON 파일을 CSV로 변환합니다:
./json_to_csv.sh
출력 결과는 다음과 같습니다:
JSON 파일이 CSV로 변환되었습니다: data.csv
5. 변환된 CSV 파일 내용 확인하기
변환된 CSV 파일의 내용을 확인해 보겠습니다:
cat data.csv
출력 결과는 다음과 같습니다:
홍길동,30,개발자
김철수,25,디자이너
이영희,28,PM
6. 결론
이번 포스팅에서는 CSV 파일과 JSON 파일 간의 변환 방법을 배워보았습니다. 데이터 변환은 데이터 처리의 중요한 부분으로, 이를 통해 다양한 데이터 형식을 유연하게 다룰 수 있습니다. 여러분도 데이터 변환 작업을 통해 효율성을 높여보세요.
읽어주셔서 감사합니다. 다음 포스팅에서 만나요!