Categories: Bash Scripts

36일차: CSV 파일 처리 스크립트 작성하기








CSV 파일 처리 스크립트

안녕하세요, MJ입니다. 오늘은 CSV 파일을 읽고 처리하는 스크립트를 작성해 보겠습니다. CSV(Comma-Separated Values) 파일은 데이터 저장 및 전송에 널리 사용되는 형식입니다. 특히 데이터베이스와의 연동, 데이터 분석 등에서 자주 사용됩니다. 이번 포스팅에서는 CSV 파일을 다루는 방법을 자세히 알아보겠습니다.

1. CSV 파일의 구조

CSV 파일은 각 행이 데이터 레코드를 나타내고, 각 열은 쉼표로 구분된 필드를 포함합니다. 예를 들어, 다음과 같은 간단한 CSV 파일이 있을 수 있습니다:

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

2. CSV 파일 읽기

리눅스에서 CSV 파일을 읽고 처리하는 스크립트를 작성하기 위해 awk 명령어를 사용할 수 있습니다. 아래는 CSV 파일을 읽고 각 필드를 출력하는 간단한 스크립트입니다:

#!/bin/bash
# read_csv.sh

CSV_FILE="data.csv"

# CSV 파일 읽기
while IFS=, read -r name age job; do
    echo "이름: $name, 나이: $age, 직업: $job"
done 

2.1 스크립트 저장하기

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

chmod +x read_csv.sh

2.2 스크립트 실행하기

스크립트를 실행하여 CSV 파일의 내용을 출력합니다:

./read_csv.sh

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

이름: 홍길동, 나이: 30, 직업: 개발자
이름: 김철수, 나이: 25, 직업: 디자이너
이름: 이영희, 나이: 28, 직업: PM

3. CSV 파일 처리하기

CSV 파일에서 특정 조건에 맞는 데이터를 필터링하거나 집계하는 스크립트를 작성해 보겠습니다. 예를 들어, 나이가 28세 이상인 사람만 출력하는 스크립트는 다음과 같습니다:

#!/bin/bash
# filter_csv.sh

CSV_FILE="data.csv"

# 나이가 28세 이상인 사람 출력
while IFS=, read -r name age job; do
    if [ $age -ge 28 ]; then
        echo "이름: $name, 나이: $age, 직업: $job"
    fi
done 

3.1 스크립트 저장하기

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

chmod +x filter_csv.sh

3.2 스크립트 실행하기

스크립트를 실행하여 필터링된 결과를 출력합니다:

./filter_csv.sh

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

이름: 이영희, 나이: 28, 직업: PM

4. CSV 파일에 데이터 추가하기

CSV 파일에 새로운 데이터를 추가하는 방법도 알아보겠습니다. 아래는 새로운 데이터를 추가하는 스크립트입니다:

#!/bin/bash
# append_csv.sh

CSV_FILE="data.csv"

# 새로운 데이터 추가
echo "박지민,27,개발자" >> $CSV_FILE
echo "새로운 데이터가 추가되었습니다."

4.1 스크립트 저장하기

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

chmod +x append_csv.sh

4.2 스크립트 실행하기

스크립트를 실행하여 새로운 데이터를 추가합니다:

./append_csv.sh

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

새로운 데이터가 추가되었습니다.

5. 결론

이번 포스팅에서는 CSV 파일을 읽고 처리하는 방법을 배워보았습니다. CSV 파일은 데이터 처리를 위한 매우 유용한 형식이며, 다양한 스크립트를 통해 효율적으로 작업할 수 있습니다. 여러분도 CSV 파일을 활용하여 다양한 데이터 처리 작업을 시도해 보세요.

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


mj

Recent Posts

파이썬 대화형 대시보드 디자인 원칙

대화형 대시보드의 효과적인 디자인 원칙과 예시를 소개합니다.

1시간 ago

파이썬으로 대화형 대시보드 구현하기 – mj의 블로그

파이썬을 이용한 대화형 대시보드 구현 방법을 배우고 다양한 예시를 확인하세요.

8시간 ago

파이썬으로 대화형 대시보드 만들기 – 데이터 시각화의 새로운 차원

파이썬으로 대화형 대시보드를 만드는 방법과 기법을 소개합니다.

17시간 ago

파이썬으로 대용량 데이터 효율적으로 처리하기

파이썬을 이용한 대용량 데이터 처리 기법을 안내합니다. 효율적인 데이터 처리 방법을 배워보세요.

3일 ago

파이썬에서 대규모 데이터 처리하기: 효과적인 기법과 예시

대규모 데이터를 처리하는 방법과 기법을 소개합니다. 파이썬을 활용한 효과적인 예시 포함.

3일 ago

파이썬에서 NumPy로 다차원 배열 다루기 – 효율적인 배열 생성과 조작

NumPy를 활용한 다차원 배열 생성과 조작하는 방법을 알아보세요.

6일 ago