산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

Python에서 CSV 파일을 읽는 방법 | CSV 파일 읽기 및 쓰기

CSV 파일이란 무엇입니까?

CSV 파일 특정 구조를 사용하여 표 형식의 데이터를 정렬하는 간단한 유형의 일반 텍스트 파일입니다. CSV 파일의 표준 형식은 행과 열 데이터로 정의되며, 여기서 줄 바꿈은 각 행을 종료하여 다음 행을 시작하고 각 열은 행 내에서 쉼표로 구분됩니다.

CSV는 간결하고 단순하며 일반적이기 때문에 데이터 교환을 위한 일반적인 형식입니다. 많은 온라인 서비스를 통해 사용자는 웹사이트의 표 형식 데이터를 CSV 파일로 내보낼 수 있습니다. CSV 파일은 Excel로 열리며 거의 모든 데이터베이스에는 CSV 파일에서 가져올 수 있는 도구가 있습니다.

이 자습서에서는 다음을 배우게 됩니다.

CSV 샘플 파일

테이블 형식의 데이터를 CSV(쉼표로 구분된 값)라고도 합니다. 문자 그대로 "쉼표로 구분된 값"입니다. 이것은 표 형식의 데이터를 표시하기 위한 텍스트 형식입니다. 파일의 각 줄은 테이블의 한 줄입니다. 개별 열의 값은 쉼표(,), 세미콜론(;) 또는 다른 기호와 같은 구분 기호로 구분됩니다. CSV는 Python에서 쉽게 읽고 처리할 수 있습니다.

다음 표를 고려하십시오.

테이블 데이터

프로그래밍 언어 설계자 출연 확장
파이썬 귀도 반 로섬 1991년 .py
자바 제임스 고슬링 1995년 .java
C++ 비얀 스트루스트럽 1983년 .cpp

이 테이블을 아래와 같이 csv로 나타낼 수 있습니다.

CSV 데이터

프로그래밍 언어, 설계자, 등장자, 확장자

파이썬, 귀도 반 로섬, 1991, .py

자바, 제임스 고슬링, 1995, .java

C++, Bjarne Stroustrup, 1983, .cpp

보시다시피 각 행은 새 행이고 각 열은 쉼표로 구분됩니다. 이것은 CSV 파일이 어떻게 보이는지 보여주는 예입니다.

CSV 데이터 다운로드

파이썬 CSV 모듈

Python은 CSV 파일을 처리하는 CSV 모듈을 제공합니다. 데이터를 읽고 쓰려면 CSV의 행을 반복해야 합니다. 지정된 열에서 데이터를 가져오려면 분할 방법을 사용해야 합니다.

CSV 모듈 기능

CSV 모듈 문서에서 다음 기능을 찾을 수 있습니다.

이 튜토리얼에서는 CSV 파일의 데이터를 편집, 수정 및 조작할 수 있는 판독기 및 작성기 기능에만 초점을 맞출 것입니다.

Python에서 CSV 파일을 읽는 방법

다음은 Python에서 CSV 파일을 읽는 단계입니다.

1단계) CSV 파일에서 데이터를 읽으려면 리더 기능을 사용하여 리더 개체를 생성해야 합니다.

판독기 기능은 파일의 각 행을 가져와서 모든 열의 목록을 만들도록 개발되었습니다. 그런 다음 변수 데이터를 원하는 열을 선택해야 합니다.

그것보다 훨씬 더 복잡하게 들립니다. CSV 파일을 읽는 이 Python 코드를 살펴보고 csv 파일로 작업하는 것이 그렇게 어렵지 않다는 것을 알 수 있습니다.

#import necessary modules
import csv
with open('X:\data.csv','rt')as f:
  data = csv.reader(f)
  for row in data:
        print(row)

2단계) 위의 프로그램을 실행하면 다음과 같이 출력됩니다.

['Programming language; Designed by; Appeared; Extension']
['Python; Guido van Rossum; 1991; .py']
['Java; James Gosling; 1995; .java']
['C++; Bjarne Stroustrup;1983;.cpp']

Python에서 CSV 파일을 사전으로 읽는 방법

DictReader를 사용하여 CSV 파일을 읽을 수도 있습니다. 결과는 헤더 행이 키이고 다른 행이 값인 사전으로 해석됩니다.

다음 코드를 고려하십시오.

#import necessary modules
import csv

reader = csv.DictReader(open("file2.csv"))
for raw in reader:
    print(raw)

이 코드의 결과는 다음과 같습니다.

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])
OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])
OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])

그리고 CSV 파일에서 데이터를 읽는 이 방법은 이전 방법보다 훨씬 쉽습니다. 그러나 이것이 데이터를 읽는 가장 좋은 방법은 아닙니다.

Python에서 CSV 파일을 작성하는 방법

다음은 Python에서 CSV 파일을 작성하는 방법입니다.

CSV 파일에 저장하려는 데이터 집합이 있는 경우 writer() 함수를 사용해야 합니다. 행(줄)에 대해 데이터를 반복하려면 writerow() 함수를 사용해야 합니다.

다음 예를 고려하십시오. 구분 기호가 아포스트로피인 "writeData.csv" 파일에 데이터를 씁니다.

#import necessary modules
import csv

with open('X:\writeData.csv', mode='w') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    #way to write to csv file
    writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension'])
    writer.writerow(['Python', 'Guido van Rossum', '1991', '.py'])
    writer.writerow(['Java', 'James Gosling', '1995', '.java'])
    writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])

csv 파일의 결과는 다음과 같습니다.

Programming language, Designed by, Appeared, Extension 
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup,1983,.cpp

Pandas를 사용하여 CSV 파일 읽기

Pandas는 Python에서 CSV를 가져오고 데이터 조작을 수행할 수 있는 오픈 소스 라이브러리입니다. Pandas는 데이터를 생성, 조작 및 삭제할 수 있는 쉬운 방법을 제공합니다.

pip install pandas 명령으로 pandas 라이브러리를 설치해야 합니다. Windows에서는 터미널의 Linux에서 명령 프롬프트에서 이 명령을 실행합니다.

CSV를 pandas DataFrame으로 읽는 것은 매우 빠르고 쉽습니다.

#import necessary modules
import pandas
result = pandas.read_csv('X:\data.csv')
print(result)

CSV Pandas 예제 읽기 결과:

Programming language, Designed by, Appeared, Extension 
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

매우 유용한 라이브러리입니다. 단 세 줄의 코드로 이전과 동일한 결과를 얻을 수 있습니다. Pandas는 CSV의 첫 번째 줄에 열 이름이 포함되어 있다는 것을 알고 있으며 이를 자동으로 사용합니다.

Pandas를 사용하여 CSV 파일 작성

Pandas로 CSV 파일에 쓰는 것은 읽기만큼 쉽습니다. 여기서 당신은 그것을 확신할 수 있습니다. 먼저 CSV 코드에 다음 Python 쓰기를 기반으로 DataFrame을 생성해야 합니다.

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'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be stored
print (df)

다음은 출력입니다.

Programming language, Designed by, Appeared, Extension
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

그리고 지정한 위치에 CSV 파일이 생성됩니다.

결론

이제 'csv' 메서드를 사용하고 CSV 형식으로 데이터를 읽고 쓰는 방법을 알게 되었습니다. CSV 파일은 읽고 관리하기 쉽고 크기가 작아 처리 및 전송 속도가 비교적 빠르기 때문에 소프트웨어 응용 프로그램에서 널리 사용됩니다.

csv 모듈은 쉽게 읽고 쓸 수 있도록 다양한 기능과 클래스를 제공합니다. 공식 Python 문서를 보고 더 흥미로운 팁과 모듈을 찾을 수 있습니다. CSV는 데이터를 저장, 확인 및 전송하는 가장 좋은 방법입니다. 사실 처음부터 배우는 것만큼 어렵지 않습니다. 하지만 조금만 연습하면 마스터할 수 있습니다.

Pandas는 CSV 파일을 읽는 훌륭한 대안입니다.

또한 ANTLR, PLY 및 PlyPlus와 같은 라이브러리를 사용하여 텍스트 파일을 구문 분석하는 다른 방법이 있습니다. 모두 강력한 구문 분석을 처리할 수 있으며 간단한 문자열 조작이 작동하지 않는 경우 사용할 수 있는 정규 표현식이 있습니다.


python

  1. 파이썬 키워드와 식별자
  2. Python 문, 들여쓰기 및 주석
  3. Python 변수, 상수 및 리터럴
  4. Python 유형 변환 및 유형 캐스팅
  5. 파이썬 입력, 출력 및 가져오기
  6. Python 전역, 지역 및 비지역 변수
  7. 파이썬 파일 I/O
  8. Python 디렉토리 및 파일 관리
  9. Python 오류 및 내장 예외
  10. Python에서 현재 날짜와 시간을 얻는 방법은 무엇입니까?