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