파이썬에서 엑셀(xlsx) 파일 읽는 방법

How Read Excel File Python



NS .xlsx 는 많은 양의 데이터를 표 형식으로 저장할 수 있는 엑셀 문서의 확장으로, 엑셀 스프레드시트에서 다양한 산술 및 논리 연산을 쉽게 수행할 수 있습니다. 프로그래밍 목적으로 Python 스크립트를 사용하여 Excel 문서에서 데이터를 읽어야 하는 경우가 있습니다. 파이썬에는 엑셀 문서를 읽기 위한 많은 모듈이 존재합니다. 유용한 모듈 중 일부는 xlrd , openpyxl , 그리고 팬더 . 이 모듈을 사용하여 Python에서 Excel 파일을 읽는 방법은 이 자습서에 나와 있습니다.

전제 조건:

이 튜토리얼의 예를 확인하려면 확장자가 .xlsx인 더미 엑셀 파일이 필요합니다. 기존 Excel 파일을 사용하거나 새 파일을 만들 수 있습니다. 여기에서 이름이 새 Excel 파일인 판매.xlsx 파일은 다음 데이터로 생성되었습니다. 이 파일은 이 튜토리얼의 다음 부분에서 다른 파이썬 모듈을 사용하여 읽는 데 사용되었습니다.







판매.xlsx



판매일 영업 사원
05/12/18 실라 아메드 60000
12/06/19 나 호세인 50,000
08/09/20 사르민 자한 45000
04/07/21 마무둘 하산 30000

예-1: xlrd를 사용하여 엑셀 파일 읽기

xlrd 모듈은 기본적으로 Python과 함께 설치되지 않습니다. 따라서 사용하기 전에 모듈을 설치해야 합니다. 이 모듈의 최신 버전은 확장자가 .xlsx인 Excel 파일을 지원하지 않습니다. 따라서 xlsx 파일을 읽으려면 이 모듈의 1.2.0 버전을 설치해야 합니다. 터미널에서 다음 명령을 실행하여 필요한 버전의 설치 xlrd .



$설치 xlrd== 1.2.0

설치 프로세스를 완료한 후 다음 스크립트를 사용하여 python 파일을 생성하여 다음 스크립트를 읽습니다. 판매.xlsx 파일을 사용하여 xlrd 기준 치수. open_workbook() 함수는 스크립트에서 읽기 위해 xlsx 파일을 여는 데 사용됩니다. 이 엑셀 파일은 한 장만 포함합니다. 그래서 workbook.sheet_by_index() 함수는 인수 값이 0인 스크립트에서 사용되었습니다. 다음으로 중첩된 '을위한' 루프는 행 및 열 값을 사용하여 워크시트의 셀 값을 읽는 데 사용되었습니다. 두 개의 range() 함수가 스크립트에서 시트 데이터를 기반으로 행 및 열 크기를 정의하는 데 사용되었습니다. NS cell_value() 함수는 루프의 각 반복에서 시트의 특정 셀 값을 읽는 데 사용되었습니다. 출력의 각 필드는 하나의 탭 공간으로 구분됩니다.





# xlrd 모듈 가져오기
수입 xlrd

# 통합 문서를 엽니다.
통합 문서 = xlrd.open_workbook('sales.xlsx')

# 워크시트를 엽니다.
워크시트 = workbook.sheet_by_index(0)

# 행과 열을 반복
~을위한NS~에범위(0,5):
~을위한제이~에범위(0,):
# 탭 공간이 있는 셀 값 인쇄
인쇄(워크시트.cell_value(나, 제),='NS')
인쇄('')

산출:

위의 스크립트를 실행하면 다음 출력이 나타납니다.

예-2: openpyxl을 사용하여 엑셀 파일 읽기

NS openpyxl xlsx 파일을 읽는 또 다른 파이썬 모듈이며 기본적으로 파이썬과 함께 설치되지 않습니다. 이 모듈을 사용하기 전에 터미널에서 다음 명령을 실행하여 이 모듈을 설치하십시오.

$설치openpyxl

설치 프로세스를 완료한 후 다음 스크립트를 사용하여 python 파일을 생성하여 다음 스크립트를 읽습니다. 판매.xlsx 파일. xlrd 모듈과 마찬가지로, openpyxl 모듈에는 load_workbook() 읽을 수 있도록 xlsx 파일을 여는 함수입니다. NS 판매.xlsx 파일은 이 함수의 인수 값으로 사용됩니다. 의 대상 책.액티브 의 값을 읽기 위해 스크립트에서 생성되었습니다. max_row 그리고 max_column 속성. 이러한 속성은 중첩 for 루프에서 내용을 읽는 데 사용되었습니다. 판매.xlsx 파일. range() 함수는 시트의 행을 읽는 데 사용되었으며 iter_cols() 함수는 시트의 열을 읽는 데 사용되었습니다. 출력의 각 필드는 두 개의 탭 공백으로 구분됩니다.

# openyxl 모듈 가져오기
openpyxl 가져오기

# wookbook을 로드할 변수를 정의합니다.
책장 = openpyxl.load_workbook('sales.xlsx')

# 활성 시트를 읽을 변수 정의:
워크시트 = wookbook.active

# 셀 값을 읽기 위해 루프를 반복합니다.
~을위한NS~에범위(0, 워크시트.max_row):
~을위한 이랑 ~에워크시트.iter_cols(1, 워크시트.max_column):
인쇄(이랑[NS].값,='NSNS')
인쇄('')

산출:

위의 스크립트를 실행하면 다음 출력이 나타납니다.

예-3: 판다를 사용하여 엑셀 파일 읽기

pandas 모듈은 이전 모듈과 같이 python과 함께 설치되지 않습니다. 따라서 이전에 설치하지 않았다면 설치해야 합니다. 다음 명령을 실행하여 팬더 터미널에서.

$설치팬더

설치 프로세스를 완료한 후 다음 스크립트를 사용하여 python 파일을 생성하여 다음 스크립트를 읽습니다. 판매.xlsx 파일. NS read_excel() pandas의 기능은 xlsx 파일을 읽는 데 사용됩니다. 이 함수는 스크립트에서 사용하여 판매.xlsx 파일. NS 데이터 프레임() 함수는 여기에서 데이터 프레임의 xlsx 파일 내용을 읽고 이름이 지정된 변수에 값을 저장하는 데 사용했습니다. 데이터 . 데이터 값은 나중에 인쇄되었습니다.

# 판다 가져오기
판다 수입같이PD

# xlsx 파일 로드
Excel_data = pd.read_excel('sales.xlsx')
# 데이터 프레임에 있는 파일의 값을 읽습니다.
데이터 = pd.DataFrame(엑셀_데이터,기둥=['판매일','영업사원','양'])
# 내용 인쇄
인쇄('파일 내용은 다음과 같습니다.N', 데이터)

산출:

위의 스크립트를 실행하면 다음 출력이 나타납니다. 이 스크립트의 출력은 앞의 두 예제와 다릅니다. 행 번호는 행 값이 0부터 계산된 첫 번째 열에 인쇄됩니다. 날짜 값은 중앙에 정렬됩니다. 영업 사원의 이름이 오른쪽으로 정렬됩니다. 금액은 왼쪽으로 정렬됩니다.

결론:

파이썬 사용자는 다양한 프로그래밍 목적을 위해 xlsx 파일로 작업해야 합니다. 이 튜토리얼에서는 세 개의 파이썬 모듈을 사용하여 xlsx 파일을 읽는 세 가지 다른 방법을 보여주었습니다. 각 모듈에는 xlsx 파일을 읽기 위한 다른 기능과 속성이 있습니다. 이 튜토리얼은 파이썬 사용자가 이 튜토리얼을 읽은 후 python 스크립트를 사용하여 xlsx 파일을 쉽게 읽을 수 있도록 도와줍니다.