Python-XLS 데이터 처리

Microsoft Excel은 매우 널리 사용되는 스프레드 시트 프로그램입니다. 사용자 편의성과 매력적인 기능으로 인해 데이터 과학에서 매우 자주 사용되는 도구입니다. Panadas 라이브러리는 선택한 데이터 그룹에 대해서만 Excel 파일과 일부를 읽을 수있는 기능을 제공합니다. 시트가 여러 개인 Excel 파일을 읽을 수도 있습니다. 우리는read_excel 그것으로부터 데이터를 읽는 함수.

Excel 파일로 입력

Windows OS에서 여러 시트로 Excel 파일을 만듭니다. 다른 시트의 데이터는 다음과 같습니다.

Windows OS에서 Excel 프로그램을 사용하여이 파일을 만들 수 있습니다. 파일을 다른 이름으로 저장input.xlsx.

# Data in Sheet1

id,name,salary,start_date,dept
1,Rick,623.3,2012-01-01,IT
2,Dan,515.2,2013-09-23,Operations
3,Tusar,611,2014-11-15,IT
4,Ryan,729,2014-05-11,HR
5,Gary,843.25,2015-03-27,Finance
6,Rasmi,578,2013-05-21,IT
7,Pranab,632.8,2013-07-30,Operations
8,Guru,722.5,2014-06-17,Finance

# Data in Sheet2

id	name	zipcode
1	Rick	301224
2	Dan	341255
3	Tusar	297704
4	Ryan	216650
5	Gary	438700
6	Rasmi	665100
7	Pranab	341211
8	Guru	347480

Excel 파일 읽기

그만큼 read_excelpandas 라이브러리의 기능은 pandas DataFrame으로 Excel 파일의 내용을 Python 환경으로 읽어 오는 데 사용됩니다. 이 함수는 파일에 대한 적절한 경로를 사용하여 OS에서 파일을 읽을 수 있습니다. 기본적으로이 함수는 Sheet1을 읽습니다.

import pandas as pd
data = pd.read_excel('path/input.xlsx')
print (data)

위 코드를 실행하면 다음과 같은 결과가 나옵니다. 인덱스로 0으로 시작하는 추가 열이 함수에 의해 생성 된 방법에 유의하십시오.

id    name  salary  start_date        dept
0   1    Rick  623.30  2012-01-01          IT
1   2     Dan  515.20  2013-09-23  Operations
2   3   Tusar  611.00  2014-11-15          IT
3   4    Ryan  729.00  2014-05-11          HR
4   5    Gary  843.25  2015-03-27     Finance
5   6   Rasmi  578.00  2013-05-21          IT
6   7  Pranab  632.80  2013-07-30  Operations
7   8    Guru  722.50  2014-06-17     Finance

특정 열 및 행 읽기

CSV 파일을 읽기 위해 이전 장에서 이미 본 것과 유사하게 read_excelpandas 라이브러리의 기능을 사용하여 특정 열과 특정 행을 읽을 수도 있습니다. 우리는 다축 인덱싱 방법을 사용합니다..loc()이 목적을 위해. 일부 행에 대해 급여 및 이름 열을 표시하도록 선택합니다.

import pandas as pd
data = pd.read_excel('path/input.xlsx')

# Use the multi-axes indexing funtion
print (data.loc[[1,3,5],['salary','name']])

위 코드를 실행하면 다음과 같은 결과가 나옵니다.

salary   name
1   515.2    Dan
3   729.0   Ryan
5   578.0  Rasmi

여러 Excel 시트 읽기

다른 데이터 형식을 가진 여러 시트는 또한 이름이 지정된 래퍼 클래스의 도움으로 read_excel 함수를 사용하여 읽을 수 있습니다. ExcelFile. 여러 장을 한 번만 메모리로 읽어들입니다. 아래 예에서는 sheet1과 sheet2를 두 개의 데이터 프레임으로 읽고 개별적으로 인쇄합니다.

import pandas as pd
with pd.ExcelFile('C:/Users/Rasmi/Documents/pydatasci/input.xlsx') as xls:
    df1 = pd.read_excel(xls, 'Sheet1')
    df2 = pd.read_excel(xls, 'Sheet2')

print("****Result Sheet 1****")
print (df1[0:5]['salary'])
print("")
print("***Result Sheet 2****")
print (df2[0:5]['zipcode'])

위 코드를 실행하면 다음과 같은 결과가 나옵니다.

****Result Sheet 1****
0    623.30
1    515.20
2    611.00
3    729.00
4    843.25
Name: salary, dtype: float64

***Result Sheet 2****
0    301224
1    341255
2    297704
3    216650
4    438700
Name: zipcode, dtype: int64