웹사이트 검색

Python에서 CSV 파일을 구문 분석하는 방법


CSV 파일은 테이블 형식의 데이터를 파일로 저장하는 데 많이 사용됩니다. 데이터베이스 테이블 또는 Excel 파일에서 CSV 파일로 데이터를 쉽게 내보낼 수 있습니다. 사람은 물론 프로그램에서도 쉽게 읽을 수 있습니다. 이 자습서에서는 Python에서 CSV 파일을 구문 분석하는 방법을 배웁니다.

파싱이란 무엇입니까?

파일을 구문 분석한다는 것은 파일에서 데이터를 읽는 것을 의미합니다. 파일에는 텍스트 파일이라고 하는 텍스트 데이터가 포함되어 있거나 스프레드시트일 수 있습니다.

CSV 파일이란 무엇입니까?

CSV는 Comma Separated Files의 약자입니다. 즉, 데이터는 쉼표를 사용하여 서로 구분됩니다. CSV 파일은 대량의 데이터를 처리하는 프로그램에 의해 생성됩니다. CSV 파일의 데이터는 스프레드시트 및 데이터베이스 형식으로 쉽게 내보낼 수 있을 뿐만 아니라 다른 프로그램에서 사용할 수 있도록 가져올 수 있습니다. CSV 파일을 파싱하는 방법을 살펴보겠습니다. Python에서 CSV 파일을 구문 분석하는 것은 매우 쉽습니다. Python에는 CSV 파일에서 데이터를 읽고 쓰는 기능을 모두 제공하는 CSV 라이브러리가 내장되어 있습니다. 데이터 처리를 사용자에게 친숙하게 만드는 라이브러리의 CSV 파일에 사용할 수 있는 다양한 형식이 있습니다.

Python에서 CSV 파일 구문 분석

내장 Python CSV 모듈을 사용하여 CSV 파일 읽기.

import csv

with open('university_records.csv', 'r') as csv_file:
    reader = csv.reader(csv_file)

    for row in reader:
        print(row)

산출:

Python에서 CSV 파일 작성

파일을 쓰기 위해서는 쓰기 모드나 추가 모드로 파일을 열어야 합니다. 여기서는 데이터를 기존 CSV 파일에 추가합니다.

import csv

row = ['David', 'MCE', '3', '7.8']

row1 = ['Lisa', '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)

Pandas 라이브러리를 사용하여 CSV 파일 구문 분석

가장 대중적이고 전문적인 CSV 파일로 작업하는 또 다른 방법이 있으며 pandas 라이브러리를 사용하는 것입니다. Pandas는 Python 데이터 분석 라이브러리입니다. 주로 2차원 또는 1차원 테이블인 주어진 데이터를 작업하고 조작하기 위한 다양한 구조, 도구 및 작업을 제공합니다.

pandas 라이브러리의 용도 및 기능

  • 데이터 세트 회전 및 재구성.
  • DataFrame 개체를 사용한 인덱싱으로 데이터 조작
  • 데이터 필터링.
  • 데이터 세트에 대한 병합 및 조인 작업.
  • 대규모 데이터세트의 슬라이싱, 인덱싱 및 하위 집합.
  • 누락된 데이터 처리 및 데이터 정렬.
  • 행/열 삽입 및 삭제.
  • 일차원적인 다양한 파일 형식.
  • 다양한 파일 형식의 데이터 읽기 및 쓰기 도구.

CSV 파일로 작업하려면 pandas를 설치해야 합니다. pandas 설치는 매우 간단합니다. 아래 지침에 따라 PIP를 사용하여 설치하십시오.

$ pip install pandas

설치가 완료되면 이동하는 것이 좋습니다.

Pandas 모듈을 사용하여 CSV 파일 읽기

pandas를 사용하여 CSV 파일 데이터를 가져오려면 파일 시스템에서 데이터 파일이 있는 경로와 현재 작업 디렉토리를 알아야 합니다. 시간과 공간을 절약할 수 있는 경로를 지정할 필요가 없도록 코드와 데이터 파일을 같은 디렉터리나 폴더에 보관하는 것이 좋습니다.

import pandas

result = pandas.read_csv('ign.csv')

print(result)

산출

Pandas 모듈을 사용하여 CSV 파일 작성

pandas를 사용하여 CSV 파일을 작성하는 것은 읽기만큼 간단합니다. 유일하게 사용되는 새로운 용어는 DataFrame입니다. Pandas DataFrame은 2차원 이기종 표 형식 데이터 구조입니다(데이터는 표 형식으로 행과 열로 정렬됩니다. Pandas DataFrame은 데이터, 열, 행의 세 가지 주요 구성요소로 구성되며 레이블이 지정된 x축과 y축이 있음) (행과 열).

from pandas import DataFrame

C = {'Programming language': ['Python', 'Java', 'C++'],

     'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],

     'Appeared': ['1991', '1995', '1985'],

     'Extension': ['.py', '.java', '.cpp'],

     }

df = DataFrame(C, columns=['Programming language', 'Designed by', 'Appeared', 'Extension'])

export_csv = df.to_csv(r'program_lang.csv', index=None, header=True)

산출

결론

내장 CSV 모듈과 pandas 모듈을 사용하여 CSV 파일을 구문 분석하는 방법을 배웠습니다. 파일을 구문 분석하는 방법에는 여러 가지가 있지만 프로그래머는 이를 널리 사용하지 않습니다. PlyPlus, PLY 및 ANTLR과 같은 라이브러리는 텍스트 데이터를 구문 분석하는 데 사용되는 라이브러리 중 일부입니다. 이제 내장된 CSV 라이브러리와 강력한 pandas 모듈을 사용하여 CSV 형식으로 데이터를 읽고 쓰는 방법을 알게 되었습니다. 위에 표시된 코드는 매우 기본적이고 간단합니다. 파이썬에 익숙한 사람이라면 누구나 이해할 수 있으니 굳이 설명할 필요는 없을 것 같다. 그러나 비어 있고 모호한 데이터 입력으로 복잡한 데이터를 조작하는 것은 쉽지 않습니다. pandas의 다양한 도구에 대한 연습과 지식이 필요합니다. CSV는 데이터를 저장하고 공유하는 가장 좋은 방법입니다. Pandas는 CSV 모듈에 대한 탁월한 대안입니다. 처음에는 어렵다고 느낄 수 있지만, 배우기에는 그리 어렵지 않습니다. 약간의 연습을 통해 마스터할 수 있습니다.