Hướng dẫn xlrd read excel - xlrd đọc excel

Đây là các thư viện Python để xử lý file Excel, không yêu cầu phải chạy trên môi trường Windows, có thể sử dụng cả với Python 2 & 3:

Nội dung chính ShowShow

  • Thư viện Python để xử lý file Excel
  • Pandas là gì?
  • Cài đặt thư viện Pandas
  • Đọc file Excel với Pandas
  • Một số xử lý file Excel với Pandas
  • Cách cài openpyxl trong python
  • Cài openpyxl bằng pip install openpyxl
  • Các class hỗ trợ xử lý file excel trong module openpyxl
  • Đọc file excel trong python | openpyxl
  • Đọc toàn bộ file excel bằng python
  • Đọc một sheet trong file excel bằng python
  • Đọc một ô trong file excel bằng python
  • Đọc các ô tại một phạm vi chỉ định trong sheet excel
  • Trích xuất dữ liệu từ file Excel bằng Python
  • Trích xuất toàn bộ giá trị các ô trong sheet excel bằng python
  • Lấy giá trị các ô tại một phạm vi chỉ định trong sheet excel
  • Đếm số dòng có dữ liệu trong excel bằng python
  • Đếm số cột có dữ liệu trong excel bằng python
  • Tổng kết

Thư viện Python để xử lý file Excel

Pandas là gì?

Cài đặt thư viện Pandas

  • Download: http://pypi.python.org/pypi/openpyxl
  • Đọc file Excel với Pandas
  • Bitbucket: https://bitbucket.org/openpyxl/openpyxl

Một số xử lý file Excel với Pandas

Cách cài openpyxl trong python

  • Cài openpyxl bằng pip install openpyxl
  • Các class hỗ trợ xử lý file excel trong module openpyxl
  • GitHub: https://github.com/jmcnamara/XlsxWriter

Đọc file excel trong python | openpyxl

Đọc toàn bộ file excel bằng python

  • Download: http://pypi.python.org/pypi/xlrd
  • Đọc một sheet trong file excel bằng python
  • GitHub: https://github.com/python-excel/xlrd

Đọc một ô trong file excel bằng python

Đọc toàn bộ file excel bằng python

  • Đọc một sheet trong file excel bằng python
  • Đọc một ô trong file excel bằng python
  • Examples: https://github.com/python-excel/xlwt/tree/master/examples
  • GitHub: https://github.com/python-excel/xlwt

Đọc các ô tại một phạm vi chỉ định trong sheet excel

Trích xuất dữ liệu từ file Excel bằng Python

  • Download: http://pypi.python.org/pypi/xlutils
  • Trích xuất toàn bộ giá trị các ô trong sheet excel bằng python
  • Lấy giá trị các ô tại một phạm vi chỉ định trong sheet excel

Đếm số dòng có dữ liệu trong excel bằng python

Đếm số cột có dữ liệu trong excel bằng python

  • Tổng kết
  • Github: https://github.com/pandas-dev/pandas
  • openpyxl

Thư viện được đề xuất cho việc đọc ghi file Excel 2010 (xlsx)

Cài đặt thư viện Pandas

Tài liệu: https://openpyxl.readthedocs.org/

pip3 install pandas

xlsxwriter

pip3 install xlrd

Thư viện để ghi dữ liệu, format, tạo bảng biểu cho Excel 2010 (xlsx)

pip3 install xlrd==1.2.0

Download: https://pypi.python.org/pypi/XlsxWriter

pip3 install openpyxl

Đọc file Excel với Pandas

Một số xử lý file Excel với Pandas: sử dụng Pandas đọc file example.xls có format như sau:

Hướng dẫn xlrd read excel - xlrd đọc excel

Cách cài openpyxl trong python

#! /usr/bin/python3

import pandas as pd

xl = pd.ExcelFile('example.xls')

# get the first sheet as an object
df = pd.read_excel(xl, 0, header=None)
print(df.head())

Cài openpyxl bằng pip install openpyxl

Các class hỗ trợ xử lý file excel trong module openpyxl

pd.read_excel(path, engine = 'openpyxl')

Một số xử lý file Excel với Pandas

Cách cài openpyxl trong python

df.at[1, 1]

Cài openpyxl bằng pip install openpyxl

Các class hỗ trợ xử lý file excel trong module openpyxl

df.iloc[:, 0]

Đọc file excel trong python | openpyxl

max_rows = len(df.iloc[:, 0])

Đọc toàn bộ file excel bằng python

pd.isnull(df.at[1, 1])

Đọc một sheet trong file excel bằng python

Đọc một ô trong file excel bằng pythonxử lý file excel trong python. Bạn sẽ học được cách cài openpyxl và dùng module này để đọc file excel trong python cũng như là để trích xuất dữ liệu từ file Excel bằng Python sau bài học này.

  • Đọc các ô tại một phạm vi chỉ định trong sheet excel

Cách cài openpyxl trong python

Cài openpyxl bằng pip install openpyxl

Các class hỗ trợ xử lý file excel trong module openpyxl pip trên màn hình Anaconda Prompt như sau:

Đọc file excel trong python | openpyxl

Đọc toàn bộ file excel bằng python

Đọc một sheet trong file excel bằng pythonpip như sau:

Đọc một ô trong file excel bằng python

Đọc các ô tại một phạm vi chỉ định trong sheet excel

Trích xuất dữ liệu từ file Excel bằng Python

Tên ClassĐịnh nghĩa
Workbook Toàn bộ file excel
Worksheet Một sheet trong file excel
Cell Một ô trong sheet

Trong mỗi class sẽ hỗ trợ những phương thức khác nhau giúp chúng ta xử lý file excel trong python

Đọc file excel trong python | openpyxl

Đọc toàn bộ file excel bằng python

Giả sử chúng ta có một file excel có tên

pip3 install openpyxl
0 gồm 2 sheet, với
pip3 install openpyxl
1 có nội dung sau đây:

Để xử lý file exel này, trước hết chúng ta cần import openpyxl vào chương trình. Ngoài ra để in ra màn hình kết quả cho dễ nhìn, bạn hãy import thêm module pprint như sau:

pip3 install xlrd
0
  • Xem thêm: Hàm pprint và cách in list, dictionary đẹp và thông minh trong python

Sau đó, hãy tạo ra một object của class Workbook chứa toàn bộ nội dung file excel bằng cách dùng openpyxl.load_workbook() như sau:

pip3 install xlrd
1

Sau khi tạo xong workbook object, chúng ta có thể dùng các phương thức tích hợp trong class workbook để xử lý file excel với object đó, ví dụ như lấy toàn bộ tên sheet trong excel:workbook object, chúng ta có thể dùng các phương thức tích hợp trong class workbook để xử lý file excel với object đó, ví dụ như lấy toàn bộ tên sheet trong excel:

pip3 install xlrd
2

Đọc một sheet trong file excel bằng python

Để xử lý một sheet trong file excel, chúng ta tạo một object của class worksheet chứa nội dung của sheet cần đọc bằng cách chỉ định tên sheet như sau:

pip3 install xlrd
3

Sau khi tạo xong worksheet object, chúng ta có thể truy cập tới một ô trong worksheet đó, ví như A2, B3.. bằng cách tạo ra một object của class cell chứa nội dung của ô đó như sau:worksheet object, chúng ta có thể truy cập tới một ô trong worksheet đó, ví như A2, B3.. bằng cách tạo ra một object của class cell chứa nội dung của ô đó như sau:

pip3 install xlrd
4

Đọc một ô trong file excel bằng python

Sau khi tạo xong một cell object, chúng ta có thể sử dụng các phương thức tích hợp trong class cell để xử lý object vừa tạo, ví dụ như lấy giá trị của ô đó:cell object, chúng ta có thể sử dụng các phương thức tích hợp trong class cell để xử lý object vừa tạo, ví dụ như lấy giá trị của ô đó:

pip3 install xlrd
5

Ngoài cách chỉ định tên ô ở trên , chúng ta cũng có thể lấy giá trị của ô bằng cách chỉ định vị trí của ô đó trong sheet thông qua [hàng - cột ] của ô đó như sau:

pip3 install xlrd
6

Đọc các ô tại một phạm vi chỉ định trong sheet excel

Để đọc các ô tại một phạm vi chỉ định trong sheet excel , ví dụ như

pip3 install openpyxl
2 chẳng hạn, chúng ta cần chỉ định phạm vi này trong worksheet object đã tạo ở trên và lấy ra từ worksheet toàn bộ các ô trong phạm vi đó dưới dạng một tuple như sau:worksheet object đã tạo ở trên và lấy ra từ worksheet toàn bộ các ô trong phạm vi đó dưới dạng một tuple như sau:

pip3 install xlrd
7

Sau khi đọc các cell đó dưới dạng tuple, bạn có thể sử dụng các thao tác với tuple để xử lý các cell này. Ví dụ lấy giá trị của một cell chỉ định bằng cách truy cập vào phần tử trong tuple như sau:

pip3 install xlrd
8
  • Xem thêm các cách xử lý tuple tại chuyên đề Tuple trong python

Ngoài cách sử dụng tuple, bạn cũng có thể lấy toàn bộ các ô trong phạn vi dưới dạng một list bằng cách dùng phương thức iter_rows() tích hợp trong class sheet để tạo ra một generator - một hàm dùng để tạo ra các trình lặp trong python. Sau đó dùng hàm list() trong python để biến generator trên thành một list, giống như dưới đây:

pip3 install xlrd
9

Sau khi đọc các cell đó dưới dạng list, bạn có thể sử dụng các thao tác với list để xử lý các cell này. Ví dụ lấy giá trị của một cell chỉ định bằng cách truy cập vào phần tử trong list như sau:

pip3 install xlrd==1.2.0
0
  • Xem thêm các cách xử lý list tại chuyên đề List trong python

Trích xuất dữ liệu từ file Excel bằng Python

Trích xuất toàn bộ giá trị các ô trong sheet excel bằng python

Bằng cách sử dụng thuộc tính

pip3 install openpyxl
3 trong class Worksheet, chúng ta có thể tạo ra một generator - một hàm dùng để tạo ra các trình lặp trong python, rồi sau đó dùng class list để biến generator trên thành một list chứa toàn bộ giá trị các ô trong sheet excel như dưới đây:class Worksheet, chúng ta có thể tạo ra một generator - một hàm dùng để tạo ra các trình lặp trong python, rồi sau đó dùng class list để biến generator trên thành một list chứa toàn bộ giá trị các ô trong sheet excel như dưới đây:

pip3 install xlrd==1.2.0
1

Chúng ta cũng có thể tự tạo ra một hàm lấy toàn bộ giá trị các ô trong sheet excel bằng cách sử dụng tới List comprehension trong python như sau:

pip3 install xlrd==1.2.0
2

Với cả hai cách trên đều cho ra cùng kết quả, toàn bộ giá trị các ô trong sheet được lấy ra dưới dạng một list 2 chiều trong python như sau:list 2 chiều trong python như sau:

pip3 install xlrd==1.2.0
3

Lấy giá trị các ô tại một phạm vi chỉ định trong sheet excel

Nếu chúng ta chỉ muốn lấy giá trị các ô tại một phạm vi chỉ định trong sheet excel, thay vì đọc toàn bộ sheet và lấy ra toàn bộ giá trị của ô trong đó, chúng ta chỉ cần đọc các ô tại một phạm vi chỉ định như Kiyoshi đã hướng dẫn ở trên, và sau đó lấy ra các giá trị của ô tồn tại trong phạm vi đó là xong.

pip3 install xlrd==1.2.0
4

Kết quả, toàn bộ giá trị các ô tại phạm vi chỉ định trong sheet được lấy ra dưới dạng list hai chiều như sau:

pip3 install xlrd==1.2.0
5

Đếm số dòng có dữ liệu trong excel bằng python

Để đếm số dòng có dữ liệu trong excel bằng python, chúng ta sử dụng thuộc tính max_row trong class Workbook với cú pháp sau đây:max_row trong class Workbook với cú pháp sau đây:

sheet.max_row

Ví dụ, chúng ta đếm số dòng có dữ liệu trong excel bằng python với mã lệnh sau đây:

pip3 install xlrd==1.2.0
6

Ứng dụng sheet.max_row, chúng ta có thể tạo ra một hàm đếm số dòng có dữ liệu và lấy tất cả dữ liệu đó ra trừ dòng header như sau:

pip3 install xlrd==1.2.0
7

Khi sử dụng hàm này, chúng ta chỉ cần chỉ định đối số là đường dẫn của file excel cần xử lý là xong.

pip3 install xlrd==1.2.0
8

Đếm số cột có dữ liệu trong excel bằng python

Để đếm số cột có dữ liệu trong excel bằng python, chúng ta sử dụng thuộc tính max_column trong class Workbook với cú pháp sau đây:max_column trong class Workbook với cú pháp sau đây:

sheet.max_column

Ví dụ, chúng ta đếm số cột có dữ liệu trong excel bằng python với mã lệnh sau đây:

pip3 install xlrd==1.2.0
9

Kết quả trả về sẽ là số cột lớn nhất có chứa dữ liệu trong file excel được chỉ định.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách đọc file excel trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.đọc file excel trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy theo dõi tiếp bài viết Ghi dữ liệu vào file Excel trong Python để hoàn toàn làm chủ các thao tác xử lý file excel trong python nhé.

Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại Creativecommons và DMCA