안녕하세요, 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 < $CSV_FILE
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 < $CSV_FILE
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 파일을 활용하여 다양한 데이터 처리 작업을 시도해 보세요.
읽어주셔서 감사합니다. 다음 포스팅에서 만나요!