Python - Xử lý dữ liệu XLS

Microsoft Excel là một chương trình bảng tính được sử dụng rất rộng rãi. Sự thân thiện với người dùng và các tính năng hấp dẫn khiến nó trở thành một công cụ được sử dụng rất thường xuyên trong Khoa học Dữ liệu. Thư viện Panadas cung cấp các tính năng mà chúng ta có thể đọc toàn bộ cũng như từng phần của tệp Excel cho một nhóm Dữ liệu được chọn. Chúng tôi cũng có thể đọc một tệp Excel có nhiều trang tính trong đó. Chúng tôi sử dụngread_excel chức năng đọc dữ liệu từ nó.

Nhập dưới dạng tệp Excel

Chúng tôi Tạo một tệp excel với nhiều trang tính trong hệ điều hành windows. Dữ liệu trong các trang tính khác nhau được hiển thị bên dưới.

Bạn có thể tạo tệp này bằng Chương trình Excel trong Hệ điều hành windows. Lưu tệp dưới dạnginput.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

Đọc tệp Excel

Các read_excelhàm của thư viện gấu trúc được sử dụng để đọc nội dung của tệp Excel vào môi trường python dưới dạng DataFrame gấu trúc. Hàm có thể đọc các tệp từ Hệ điều hành bằng cách sử dụng đường dẫn thích hợp đến tệp. Theo mặc định, hàm sẽ đọc Sheet1.

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

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả như sau. Vui lòng lưu ý cách một cột bổ sung bắt đầu bằng 0 làm chỉ mục đã được tạo bởi hàm.

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

Đọc các cột và hàng cụ thể

Tương tự như những gì chúng ta đã thấy trong chương trước để đọc tệp CSV, read_excelchức năng của thư viện gấu trúc cũng có thể được sử dụng để đọc một số cột cụ thể và hàng cụ thể. Chúng tôi sử dụng phương pháp lập chỉ mục nhiều trục được gọi là.loc()vì mục đích này. Chúng tôi chọn hiển thị cột lương và tên cho một số hàng.

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']])

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả như sau.

salary   name
1   515.2    Dan
3   729.0   Ryan
5   578.0  Rasmi

Đọc nhiều trang tính Excel

Nhiều trang tính với các định dạng Dữ liệu khác nhau cũng có thể được đọc bằng cách sử dụng hàm read_excel với sự trợ giúp của một lớp trình bao bọc có tên ExcelFile. Nó sẽ chỉ đọc nhiều trang vào bộ nhớ một lần. Trong ví dụ dưới đây, chúng tôi đọc sheet1 và sheet2 thành hai khung dữ liệu và in chúng ra riêng lẻ.

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'])

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả như sau.

****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