Categories: Bash Scripts

40일차: 데이터 처리 실습








데이터 처리 실습

안녕하세요, MJ입니다. 오늘은 여러 가지 데이터 처리 스크립트를 작성하여 실습해 보겠습니다. 데이터 처리 스크립트는 다양한 형식의 데이터를 변환하고 분석하는 데 유용합니다. 이번 포스팅에서는 CSV와 JSON 파일을 다루며, 데이터를 필터링, 변환, 통계 분석하는 방법을 알아보겠습니다.

1. 데이터 처리의 중요성

데이터 처리란 수집된 데이터를 가공하여 유용한 정보를 얻는 과정을 의미합니다. 이는 데이터 분석, 머신러닝, 데이터베이스 관리 등 다양한 분야에서 필수적인 작업입니다. 효과적인 데이터 처리는 비즈니스 의사결정 및 연구 결과 도출에 큰 영향을 미칩니다.

2. CSV 파일 필터링 실습

먼저, 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에 저장되었습니다."

2.1 스크립트 저장하기

위 스크립트를 filter_csv.sh라는 파일로 저장하고 실행 권한을 부여합니다:

chmod +x filter_csv.sh

2.2 CSV 파일 준비하기

필터링할 데이터를 준비합니다. sales_data.csv 파일을 생성합니다:

echo "상품A,100\n상품B,200\n상품C,150" > sales_data.csv

2.3 스크립트 실행하기

스크립트를 실행하여 필터링된 데이터를 확인합니다:

./filter_csv.sh

출력 결과는 다음과 같습니다:

판매량이 150 이상인 데이터가 filtered_data.csv에 저장되었습니다.

2.4 필터링된 데이터 확인하기

필터링된 데이터 파일의 내용을 확인합니다:

cat filtered_data.csv

출력 결과는 다음과 같습니다:

상품B,200
상품C,150

3. JSON 데이터 변환 실습

이번에는 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"

3.1 스크립트 저장하기

위 스크립트를 json_to_csv.sh라는 파일로 저장하고 실행 권한을 부여합니다:

chmod +x json_to_csv.sh

3.2 JSON 파일 준비하기

변환할 JSON 데이터를 준비합니다. data.json 파일을 생성합니다:

echo '[{"name": "홍길동", "age": 30, "job": "개발자"},{"name": "김철수", "age": 25, "job": "디자이너"},{"name": "이영희", "age": 28, "job": "PM"}]' > data.json

3.3 스크립트 실행하기

스크립트를 실행하여 JSON 파일을 CSV로 변환합니다:

./json_to_csv.sh

출력 결과는 다음과 같습니다:

JSON 파일이 CSV로 변환되었습니다: data_converted.csv

3.4 변환된 CSV 데이터 확인하기

변환된 CSV 파일의 내용을 확인합니다:

cat data_converted.csv

출력 결과는 다음과 같습니다:

홍길동,30,개발자
김철수,25,디자이너
이영희,28,PM

4. 데이터 분석 실습

마지막으로, 간단한 데이터 분석을 수행하는 스크립트를 작성해 보겠습니다. 아래는 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 

4.1 스크립트 저장하기

위 스크립트를 analyze_sales.sh라는 파일로 저장하고 실행 권한을 부여합니다:

chmod +x analyze_sales.sh

4.2 스크립트 실행하기

스크립트를 실행하여 판매량의 총합과 평균을 계산합니다:

./analyze_sales.sh

출력 결과는 다음과 같습니다:

판매량 총합: 450
판매량 평균: 150

5. 결론

이번 포스팅에서는 다양한 데이터 처리 스크립트를 작성하여 실습해 보았습니다. CSV와 JSON 파일을 다루며 데이터를 필터링하고 변환하는 방법을 익혔습니다. 이러한 스크립트는 데이터 처리의 효율을 높이고, 유용한 정보를 도출하는 데 큰 도움이 됩니다.

읽어주셔서 감사합니다. 다음 포스팅에서 만나요!


mj

Recent Posts

57일차: 보안 스크립트 – 파일 권한 및 소유권 관리

파일 권한 및 소유권을 관리하는 방법과 스크립트 예시를 알아보세요. 보안 스크립트로 안전한 파일 관리를 실현합니다.

6시간 ago

56일차: 보안 스크립트 – 리눅스 보안 개념 이해

리눅스의 보안 개념과 중요성을 배우고 이해합니다.

9시간 ago

55일차: 스크립트 배포 및 관리 – 스크립트 배포 실습

스크립트 배포 및 관리 실습을 통해 실제 환경에서의 스크립트 배포 방법을 배워보세요.

1일 ago

54일차: 스크립트 배포 및 관리 – 스크립트 유지보수 기법

스크립트 유지보수 기법과 모범 사례를 익히고, 효율적인 관리 방법을 알아보세요.

1일 ago

53일차: 스크립트 배포 및 관리 – 스크립트 문서화

스크립트를 문서화하여 다른 사용자와 공유하는 방법을 배워보세요.

2일 ago

52일차: 스크립트 배포 및 관리 – Git을 사용한 버전 관리

Git을 사용하여 스크립트의 버전을 관리하는 방법을 익히고, 실용적인 예시를 통해 이해를 돕습니다.

2일 ago