[Python 3] Đọc và ghi file 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:

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

openpyxl

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

xlsxwriter

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

xlrd

Thư viện đọc, ghi file excel với dịnh dạng cũ (xls)

xlwt

Thư viện đọc, ghi file excel với dịnh dạng cũ (xls)

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

Pandas là gì?

Pandas là một thư viện mã nguồn mở, được cấp phép BSD cung cấp các cấu trúc dữ liệu và các công cụ phân tích dữ liệu hiệu suất cao, dễ sử dụng cho ngôn ngữ lập trình Python. Nó hỗ trợ đọc các định dạng file: CSV, MS Excel, HTML, SQL,…

Đối với Excel, Pandas sử dụng tích hợp các thư viện xlrdopenpyxlxlsxwriter 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:

Source Code: 

#! /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])

Nguồn: vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web