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