Python을 사용하여 Excel 파일 읽기
-
Python에서
pandas패키지를 사용하여 Excel 파일 읽기 -
Python에서
xlrd패키지를 사용하여 Excel 파일 읽기 - Python에서 Excel 파일에 대해 수행되는 작업의 예
Python 프로그래밍 언어는 데이터 과학 분야에서 사용되는 것으로 잘 알려져 있습니다. 데이터 과학은 일반적으로 라인 플롯, 바이올린 플롯, 히스토그램 및 히트 맵과 같은 그래프 및 플롯과 평균, 중앙값, 모드, 확률, 분산 등과 같은 수학적 계산을 사용하여 데이터를 처리하고 분석하는 것을 포함합니다. 파이썬은 파일 읽기와 조작을 매우 매끄럽게 만든다는 사실이 더 적합합니다. 데이터는 일반적으로 xls, xlsx, csv, txt 등과 같은 인기 있는 파일 형식으로 표현되기 때문에 Python으로 데이터를 처리하는 것은 케이크 조각입니다.
이 기사에서는 몇 가지 예를 통해 Python을 사용하여 Excel 파일을 읽는 방법을 소개합니다. 예를 들어, [여기]에서 다운로드할 수 있는 샘플 Excel 파일을 고려하여 우리 모두가 같은 페이지에 있습니다. 다음 코드 조각이 작동하려면 이름을 sample.xls로 바꾸거나 다음 코드 조각 자체에서 파일 이름을 변경하십시오.
Python에서 pandas 패키지를 사용하여 Excel 파일 읽기
Python에서는 pandas 라이브러리를 사용하여 Excel 파일을 읽을 수 있습니다. pandas 모듈은 Python으로 작성된 강력하고 강력하며 빠르고 유연한 오픈 소스 데이터 분석 및 조작 라이브러리입니다. 머신이나 가상 환경에 설치되어 있지 않다면 다음 명령어를 사용하세요.
pandas설치:pip install pandas또는pip3 install pandas
pandas 모듈을 사용하여 Excel 파일을 읽는 방법은 다음 코드를 참조하십시오.
import xlrd
import pandas
df = pandas.read_excel("sample.xls")
print("Columns")
print(df.columns)
출력:
Columns
Index(['Segment', 'Country', 'Product', 'Discount Band', 'Units Sold',
'Manufacturing Price', 'Sale Price', 'Gross Sales', 'Discounts',
' Sales', 'COGS', 'Profit', 'Date', 'Month Number', 'Month Name',
'Year'],
dtype='object')
Python에서 xlrd 패키지를 사용하여 Excel 파일 읽기
Python에서는 xlrd 패키지를 사용하여 Excel 파일을 읽을 수 있습니다. xlrd 모듈은 Excel 파일을 읽고 서식을 지정하는 데 사용되는 Python 패키지입니다. 컴퓨터 또는 가상 환경에 설치되어 있지 않은 경우 다음 명령을 사용합니다.
xlrd를 설치하려면 다음 명령을 사용하십시오.
pip install xlrd
또는,
pip3 install xlrd
xlrd를 사용하여 Excel 파일을 읽는 방법은 다음 코드를 참조하십시오.
from xlrd import open_workbook
wb = open_workbook("sample.xls")
sheet = wb.sheet_by_index(0)
sheet.cell_value(0, 0)
columns = []
print("Columns")
for i in range(sheet.ncols):
columns.append(sheet.cell_value(0, i))
print(columns)
출력:
Columns
['Segment', 'Country', 'Product', 'Discount Band', 'Units Sold', 'Manufacturing Price', 'Sale Price', 'Gross Sales', 'Discounts', ' Sales', 'COGS', 'Profit', 'Date', 'Month Number', 'Month Name', 'Year']
다음은 위의 코드가 하는 일에 대한 간략한 설명입니다. 먼저 open_workbook() 함수를 사용하여 Excel 파일에 대한 파일 설명자를 생성합니다. 그런 다음 파일 포인터를 (0,0) 위치 또는 왼쪽 상단 셀로 재설정합니다. 다음으로 첫 번째 행을 반복하고 모든 열 이름을 변수에 저장합니다. 일반적으로 열 이름은 첫 번째 행에 있습니다. 이것이 코드가 해당 위치를 고려하는 이유입니다. 열 이름이 다른 행에 있는 경우 sheet.cell_value(0, i) 문의 0 값을 원하는 행 번호로 변경할 수 있습니다. 본질적으로 (0, i)는 y와 x 좌표를 나타내며, 여기서 y는 0이고 x는 i입니다.
Python에서 Excel 파일에 대해 수행되는 작업의 예
이 두 라이브러리를 더 잘 이해하기 위해 Excel 파일에 대해 수행할 수 있는 몇 가지 간단한 작업을 살펴보겠습니다.
Excel 파일의 처음 3개 행 인쇄
pandas 패키지 사용
import pandas
df = pandas.read_excel("sample.xls")
count = 3
for index, row in df.iterrows():
print(row, end="\n\n")
if index == count - 1:
break
출력:
Segment Government
Country Canada
Product Carretera
Discount Band None
Units Sold 1618.5
Manufacturing Price 3
Sale Price 20
Gross Sales 32370.0
Discounts 0.0
Sales 32370.0
COGS 16185.0
Profit 16185.0
Date 2014-01-01 00:00:00
Month Number 1
Month Name January
Year 2014
Name: 0, dtype: object
Segment Government
Country Germany
Product Carretera
Discount Band None
Units Sold 1321.0
Manufacturing Price 3
Sale Price 20
Gross Sales 26420.0
Discounts 0.0
Sales 26420.0
COGS 13210.0
Profit 13210.0
Date 2014-01-01 00:00:00
Month Number 1
Month Name January
Year 2014
Name: 1, dtype: object
Segment Midmarket
Country France
Product Carretera
Discount Band None
Units Sold 2178.0
Manufacturing Price 3
Sale Price 15
Gross Sales 32670.0
Discounts 0.0
Sales 32670.0
COGS 21780.0
Profit 10890.0
Date 2014-06-01 00:00:00
Month Number 6
Month Name June
Year 2014
Name: 2, dtype: object
xlrd 패키지 사용
from xlrd import open_workbook
wb = open_workbook("sample.xls")
sheet = wb.sheet_by_index(0)
sheet.cell_value(0, 0)
count = 3
for i in range(1, count + 1):
for j in range(sheet.ncols):
print(sheet.cell_value(i, j), end=", ")
print()
출력:
Government, Canada, Carretera, None, 1618.5, 3.0, 20.0, 32370.0, 0.0, 32370.0, 16185.0, 16185.0, 41640.0, 1.0, January, 2014,
Government, Germany, Carretera, None, 1321.0, 3.0, 20.0, 26420.0, 0.0, 26420.0, 13210.0, 13210.0, 41640.0, 1.0, January, 2014,
Midmarket, France, Carretera, None, 2178.0, 3.0, 15.0, 32670.0, 0.0, 32670.0, 21780.0, 10890.0, 41791.0, 6.0, June, 2014,
특정 열의 값 인쇄하기
pandas 패키지 사용
import pandas
df = pandas.read_excel("sample.xls")
column = df.columns[4]
print(column)
print("-" * len(column))
for index, row in df.iterrows():
print(row[column])
출력:
Units Sold
----------
1618.5
1321.0
2178.0
888.0
2470.0
1513.0
921.0
2518.0
1899.0
1545.0
2470.0
2665.5
958.0
2146.0
345.0
615.0
292.0
974.0
2518.0
1006.0
367.0
883.0
549.0
788.0
2472.0
1143.0
1725.0
912.0
2152.0
1817.0
1513.0
1493.0
1804.0
2161.0
1006.0
1545.0
2821.0
345.0
2001.0
2838.0
2178.0
888.0
...
xlrd 패키지 사용
from xlrd import open_workbook
wb = open_workbook("sample.xls")
sheet = wb.sheet_by_index(0)
sheet.cell_value(0, 0)
column_index = 4
column = sheet.cell_value(0, column_index)
print(column)
print("-" * len(column))
for row in range(1, sheet.nrows):
print(sheet.cell_value(row, column_index))
출력:
Units Sold
----------
1618.5
1321.0
2178.0
888.0
2470.0
1513.0
921.0
2518.0
1899.0
1545.0
2470.0
2665.5
958.0
2146.0
345.0
615.0
292.0
974.0
2518.0
1006.0
367.0
883.0
549.0
788.0
2472.0
1143.0
1725.0
912.0
2152.0
1817.0
1513.0
1493.0
1804.0
2161.0
1006.0
1545.0
2821.0
345.0
2001.0
2838.0
2178.0
888.0
...
