Dưới đây là một số thư viện Python được sử dụng để xử lý tệp Excel. Chúng không yêu cầu hệ điều hành Windows và có thể sử dụng được cho cả Python 2 và Python 3:
Thư viện Python để xử lý file Excel
openpyxl
Thư viện được đề xuất cho việc đọc ghi file Excel 2010 (xlsx)
- Download: http://pypi.python.org/pypi/openpyxl
- Tài liệu: https://openpyxl.readthedocs.org/
- Bitbucket: https://bitbucket.org/openpyxl/openpyxl
xlsxwriter
Thư viện để ghi dữ liệu, format, tạo bảng biểu cho Excel 2010 (xlsx)
- Download: https://pypi.python.org/pypi/XlsxWriter
- Tài liệu: https://xlsxwriter.readthedocs.org/
- GitHub: https://github.com/jmcnamara/XlsxWriter
xlrd
Thư viện đọc, ghi file excel với dịnh dạng cũ (xls)
- Download: http://pypi.python.org/pypi/xlrd
- Tài liệu: http://xlrd.readthedocs.io/en/latest/
- GitHub: https://github.com/python-excel/xlrd
xlwt
Thư viện đọc, ghi file excel với dịnh dạng cũ (xls)
- Download: http://pypi.python.org/pypi/xlwt
- Tài liệu: http://xlwt.readthedocs.io/en/latest/
- Examples: https://github.com/python-excel/xlwt/tree/master/examples
- GitHub: https://github.com/python-excel/xlwt
xlutils
Thư viện tổng hợp cả xlrd, openpyxl và xlwt, để xử lý copy và chỉnh sửa các file excel
- Download: http://pypi.python.org/pypi/xlutils
- Tài liệu: http://xlutils.readthedocs.io/en/latest/
- GitHub: https://github.com/python-excel/xlutils
Pandas là gì?
Pandas là một thư viện mã nguồn mở được cấp phép BSD, được tạo ra để xử lý cấu trúc dữ liệu và mang đến các công cụ phân tích dữ liệu mạnh mẽ và dễ sử dụng cho ngôn ngữ lập trình Python. Với Pandas, bạn có khả năng thực hiện nhiều nhiệm vụ khác nhau, từ việc đọc và ghi dữ liệu đến và từ nhiều định dạng file như CSV, MS Excel, HTML, SQL, cho đến nhiều định dạng khác nữa. Thư viện này mang lại sự linh hoạt đáng kể cho những người làm việc với dữ liệu trong ngôn ngữ lập trình Python.
- Trang chủ: https://pandas.pydata.org/
- Github: https://github.com/pandas-dev/pandas
- Tài liệu: http://pandas.pydata.org/pandas-docs/stable/
Đối với Excel, Pandas sử dụng tích hợp các thư viện xlrd, openpyxl, xlsxwriter và xlwt (Mặc định là xlrd). Nếu sử dụng thư viện nào thì bạn cần phải cài đặt thư viện đó, tất nhiên là cài đặt thông qua công cụ quản lý pip3 của Python 3
Cài đặt thư viện Pandas
Sử dụng công cụ quản lý pip3 để cài Pandas:
pip3 install pandas
Vì mặc đinh Pandas sử dụng thư viện đọc Excel là xlrd nên chúng ta cần cài thêm xlrd:
pip3 install xlrd
Hiện tại thì phiên bản mới nhất của xlrd đã không còn hỗ trợ định dang file xlsx, nếu nếu bạn muốn sử dụng thì hãy cài version thấp hơn là 1.2.0
pip3 install xlrd==1.2.0
Hoặc cài bản openpyxl
pip3 install openpyxl
Đọc file Excel với Pandas
VD: sử dụng Pandas đọc file example.xls có format như sau:
#! /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())
Kết quả:
Trường hợp là file xlsx chúng ta cần cài openpyxl và chuyển sang sử dụng khi đó:
pd.read_excel(path, engine = 'openpyxl')
Một số xử lý file Excel với Pandas
– Lấy giá trị của 1 cell cố định
df.at[1, 1]
Kết quả như trong file Excel ví dụ sẽ là: STT
– Lấy dữ liệu của 1 cột
df.iloc[:, 0]
– Lấy số số tổng số dòng dữ liệu của file Excel
max_rows = len(df.iloc[:, 0])
– Kiểm tra dữ liệu kiểu nan
pd.isnull(df.at[1, 1])