데이터 구문 분석은 정보를 자동으로 수집하고 처리하는 것으로 정의되며, CSV 파일의 경우에 자주 사용됩니다. 여기서 구문 분석이란 CSV 파일을 행, 열, 값으로 분할하는 것을 의미합니다. 이렇게 함으로써 데이터를 분석, 필터링, 추출하여 추가 작업을 손쉽게 수행할 수 있습니다. 이 글에서는 Python을 사용해 CSV 파일을 읽는 방법을 설명합니다. 또한 Python에서 CSV 파일의 데이터를 파싱하는 방법도 보여드리겠습니다.
CSV 또는 (쉼표로 구분된 값)는 쉼표와 새 줄 바꿈으로 값을 구분하는 방식으로 데이터를 저장하는 파일 형식입니다. 이 때문에 CSV 형식은 Excel에서 데이터를 만들거나 수정하는 등 다양한 상황에서 사용할 수 있습니다.
CSV 파일의 주요 강점 중 하나는 정보에 쉽게 액세스하고 공유할 수 있다는 점입니다. 이 파일의 고유성 덕분에 사용 중인 소프트웨어에 관계없이 파일을 열고 처리할 수 있습니다. 따라서 이러한 데이터를 스프레드시트나 데이터베이스 형태로 내보내는 것이 편리합니다.
이제 다음 블록에서 Python에서 CSV를 열고 읽는 방법을 보여드리겠습니다.
Python에는 데이터를 쉽게 읽고 쓸 수 있는 CSV 라이브러리가 내장되어 있습니다. 외부 라이브러리를 설치할 필요가 없으므로 콘텐츠를 분석하고 파일을 여는 작업이 매우 쉽습니다.
다음 코드 세그먼트는 Python에서 university_records라는 CSV 파일을 열고 인쇄하는 방법을 보여줍니다. 이 코드는 읽기 모드를 사용하여 파일을 연 다음, CSV 파일을 읽고 마지막으로 for 루프를 사용하여 데이터를 인쇄합니다.
import csv
with open('university_records.csv', 'r') as csv_file:
reader = csv.reader(csv_file)
for row in reader:
print(row)
이를 위해 CSV 모듈을 사용하여 데이터를 작성합니다. CSV 모듈에 정보를 작성하는 데 도움이 되는 유용한 메서드가 있습니다:
모듈의 메서드는 아래 코드에 포괄적으로 설명되어 있습니다:
import csv
row = ['David', 'MCE', '3', '7.8']
row1 = ['Monika', 'PIE', '3', '9.1']
row2 = ['Raymond', 'ECE', '2', '8.5']
with open('university_records.csv', 'a') as csv_file:
writer = csv.writer(csv_file)
writer.writerow(row)
writer.writerow(row1)
writer.writerow(row2)
금융용 스프레드시트부터 머신 러닝을 위한 방대한 데이터베이스에 이르기까지, 오늘날 Python을 사용하여 CSV 파일을 구문 분석하는 것은 매우 중요합니다. 특히 Python이 기본적으로 제공하는 기능보다 더 많은 기능이 필요할 때 이러한 파일로 작업하는 것이 번거로울 때가 있습니다. 이럴 때 Pandas 라이브러리가 유용하게 사용될 수 있습니다.
데이터프레임으로 데이터를 작성하는 전체 기능은 아래에 설명되어 있습니다. DataFrame은 Pandas 라이브러리의 주요 데이터 구조 중 하나이며 표 형식 데이터 작업에 사용됩니다.
import pandas as pd
data = {"Name": ["David", "Monika", "Raymond"],
"Age": [30, 25, 40],
"City": ["Kyiv", "Lviv", "Odesa"]
}
df = pd.DataFrame(data)
file_path = "data.csv"
df.to_csv(file_path, index=False, encoding="utf-8")
Pandas 라이브러리는 Python에서 CSV를 구문 분석하는 데 가장 효과적인 라이브러리 중 하나로 간주되며, 그 강력하고 편리한 이유는 다음과 같습니다:
이러한 기능들은 다른 도구가 제한적이기 때문에 이 라이브러리가 CSV 파일을 빠르게 분석하는 데 가장 적합하다는 것을 보여줍니다. 동시에 대량의 데이터를 처리할 수 있어 정보의 세계에서 매우 유용합니다.
CSV 문서를 사용하기 전에 가장 먼저 해야 할 일은 업로드하는 것입니다.
import pandas as pd
df = pd.read_csv("data.csv")
방대한 데이터 세트를 다룰 때는 Pandas 도구를 사용하는 것이 적절합니다. Python 스크립트로 CSV 파일을 파싱하는 방법을 살펴보겠습니다.
df.head() # 처음 5개의 행을 표시합니다
df.tail(10) # 최근 10개의 행을 표시합니다
df.info() # 열 목록, 데이터 유형 및 채워진 값의 수를 출력합니다
하나 또는 여러 열을 선택하려면 실행합니다:
df["Name"] # "Name" 열 가져오기
df[["Name", "Age"]] # "Name"과 "Age"만 추출합니다.
이제 특정 행을 삽입, 수정 및 제거하는 방법을 살펴보겠습니다.
새 행을 삽입합니다:
# CSV 파일 로드
df = pd.read_csv(file_path)
# 새 행 추가
new_row = pd.DataFrame([{"Name": "Denys", "Age": 35, "City": "Kharkiv"}]) df = pd.concat([df, new_row], ignore_index=True)
# 저장
df.to_csv(file_path, index=False, encoding="utf-8")
특정 행 수정하기:
df = pd.read_csv(file_path)
# 이반의 나이 변경
df.loc[df["Name"] == "Ivan", "Age"] = 26
df.to_csv(file_path, index=False, encoding="utf-8")
행 제거하기:
df = pd.read_csv(file_path)
# Name == "Mykhailo"인 행을 제거합니다.
df = df[df["Name"] != "Mykhailo"]
df.to_csv(file_path, index=False, encoding="utf-8")
요약하자면, 이 글에서는 Python에서 CSV 파일을 열고 읽는 방법을 보여드렸습니다. 하지만 사용자가 더 높은 정확도와 강력한 해석 도구를 필요로 할 때마다 Pandas는 완벽하게 작동합니다. 반복적인 프로세스를 자동화하고 대용량 파일을 처리하며 시간을 절약할 수 있는 이 라이브러리는 매우 효과적입니다. 따라서 기본 기능의 경우 표준 CSV 라이브러리가 요구 사항을 제공하는 반면, Pandas는 광범위한 정보 데이터를 처리하도록 만들어졌다고 결론을 내릴 수 있습니다.
댓글: 0