안녕하세요, MJ입니다. 오늘은 여러 가지 데이터 처리 스크립트를 작성하여 실습해 보겠습니다. 데이터 처리 스크립트는 다양한 형식의 데이터를 변환하고 분석하는 데 유용합니다. 이번 포스팅에서는 CSV와 JSON 파일을 다루며, 데이터를 필터링, 변환, 통계 분석하는 방법을 알아보겠습니다.
데이터 처리란 수집된 데이터를 가공하여 유용한 정보를 얻는 과정을 의미합니다. 이는 데이터 분석, 머신러닝, 데이터베이스 관리 등 다양한 분야에서 필수적인 작업입니다. 효과적인 데이터 처리는 비즈니스 의사결정 및 연구 결과 도출에 큰 영향을 미칩니다.
먼저, CSV 파일을 필터링하는 스크립트를 작성해 보겠습니다. 아래의 스크립트는 특정 조건에 맞는 데이터를 추출합니다:
#!/bin/bash
# filter_csv.sh
CSV_FILE="sales_data.csv"
OUTPUT_FILE="filtered_data.csv"
# 필터링 조건: 판매량이 150 이상인 데이터만 추출
awk -F, '$2 >= 150 { print }' $CSV_FILE > $OUTPUT_FILE
echo "판매량이 150 이상인 데이터가 $OUTPUT_FILE에 저장되었습니다."
위 스크립트를 filter_csv.sh
라는 파일로 저장하고 실행 권한을 부여합니다:
chmod +x filter_csv.sh
필터링할 데이터를 준비합니다. sales_data.csv
파일을 생성합니다:
echo "상품A,100\n상품B,200\n상품C,150" > sales_data.csv
스크립트를 실행하여 필터링된 데이터를 확인합니다:
./filter_csv.sh
출력 결과는 다음과 같습니다:
판매량이 150 이상인 데이터가 filtered_data.csv에 저장되었습니다.
필터링된 데이터 파일의 내용을 확인합니다:
cat filtered_data.csv
출력 결과는 다음과 같습니다:
상품B,200
상품C,150
이번에는 JSON 파일을 CSV로 변환하는 방법을 알아보겠습니다. 아래는 JSON 파일을 읽고 CSV 형식으로 변환하는 스크립트입니다:
#!/bin/bash
# json_to_csv.sh
JSON_FILE="data.json"
CSV_FILE="data_converted.csv"
# JSON 파일을 CSV로 변환
jq -r '.[] | [.name, .age, .job] | @csv' $JSON_FILE > $CSV_FILE
echo "JSON 파일이 CSV로 변환되었습니다: $CSV_FILE"
위 스크립트를 json_to_csv.sh
라는 파일로 저장하고 실행 권한을 부여합니다:
chmod +x json_to_csv.sh
변환할 JSON 데이터를 준비합니다. data.json
파일을 생성합니다:
echo '[{"name": "홍길동", "age": 30, "job": "개발자"},{"name": "김철수", "age": 25, "job": "디자이너"},{"name": "이영희", "age": 28, "job": "PM"}]' > data.json
스크립트를 실행하여 JSON 파일을 CSV로 변환합니다:
./json_to_csv.sh
출력 결과는 다음과 같습니다:
JSON 파일이 CSV로 변환되었습니다: data_converted.csv
변환된 CSV 파일의 내용을 확인합니다:
cat data_converted.csv
출력 결과는 다음과 같습니다:
홍길동,30,개발자
김철수,25,디자이너
이영희,28,PM
마지막으로, 간단한 데이터 분석을 수행하는 스크립트를 작성해 보겠습니다. 아래는 CSV 파일에서 판매량의 총합과 평균을 계산하는 스크립트입니다:
#!/bin/bash
# analyze_sales.sh
CSV_FILE="sales_data.csv"
total=0
count=0
while IFS=, read -r product sales; do
total=$((total + sales))
count=$((count + 1))
done
위 스크립트를 analyze_sales.sh
라는 파일로 저장하고 실행 권한을 부여합니다:
chmod +x analyze_sales.sh
스크립트를 실행하여 판매량의 총합과 평균을 계산합니다:
./analyze_sales.sh
출력 결과는 다음과 같습니다:
판매량 총합: 450
판매량 평균: 150
이번 포스팅에서는 다양한 데이터 처리 스크립트를 작성하여 실습해 보았습니다. CSV와 JSON 파일을 다루며 데이터를 필터링하고 변환하는 방법을 익혔습니다. 이러한 스크립트는 데이터 처리의 효율을 높이고, 유용한 정보를 도출하는 데 큰 도움이 됩니다.
읽어주셔서 감사합니다. 다음 포스팅에서 만나요!
파일 권한 및 소유권을 관리하는 방법과 스크립트 예시를 알아보세요. 보안 스크립트로 안전한 파일 관리를 실현합니다.