Viết Dữ Liệu Vào Excel Với Pandas: Cách Định Dạng và Tùy Chỉnh

Mục Tiêu và Lợi Ích Của Bài Học

Trong bài học này, bạn sẽ học cách sử dụng Pandas để ghi dữ liệu vào Excel, cùng với các cách định dạng và tùy chỉnh cơ bản cho bảng tính. Bạn sẽ sử dụng một file dữ liệu Excel có sẵn chứa thông tin về các sản phẩm như Tên sản phẩm, Doanh thu, Chi phí, Ngày bán, và Khu vực.

Dưới đây là hướng dẫn chi tiết các bước để xử lý dữ liệu và tùy chỉnh bảng Excel, giúp bạn dễ dàng quản lý và trình bày thông tin.

Lợi ích:

  • Tự động hóa việc ghi và định dạng dữ liệu vào Excel.
  • Tạo bảng tính Excel có thể dễ dàng chia sẻ và sử dụng trong công việc hàng ngày.
  • Quản lý dữ liệu lớn và thực hiện phân tích nhanh chóng nhờ khả năng tùy chỉnh định dạng của bảng tính.

1. Đọc Dữ Liệu Từ Excel

Giả sử bạn đã có một file dữ liệu Excel có tên là SalesData.xlsx với cấu trúc như sau:

ProductNameSalesAmountCostSaleDateRegion
Laptop12008001/1/2023North
Phone8005001/2/2023South
Headphones150801/3/2023East
Tablet4503001/4/2023West
Monitor3002001/5/2023North
Keyboard100501/6/2023South
Mouse50301/7/2023East
Printer2501501/8/2023West
Smartwatch2001201/9/2023North
Camera5003501/10/2023South
Speaker100701/11/2023East
USB Drive40251/12/2023West
Power Bank60401/13/2023North
VR Headset3001801/14/2023South
Air Purifier1501001/15/2023East
Laptop Stand40201/16/2023West
Desk Chair150801/17/2023North
Webcam60351/18/2023South
External Hard Drive120801/19/2023East
Projector8005001/20/2023West

Bạn có thể sử dụng Pandas để đọc dữ liệu này từ file SalesData.xlsx. Dưới đây là cách đọc dữ liệu vào DataFrame:

import pandas as pd

# Đọc dữ liệu từ Excel
df = pd.read_excel('SalesData.xlsx')

# Hiển thị dữ liệu
print(df)

Sau khi đọc dữ liệu, bạn sẽ có DataFrame với các cột: ProductName, SalesAmount, Cost, SaleDate, và Region.


2. Ghi Dữ Liệu Vào Excel

Sau khi làm việc với dữ liệu trong Python, bạn có thể dễ dàng ghi lại nó vào một file Excel mới. Dưới đây là cách ghi dữ liệu từ DataFrame vào Excel:

# Ghi dữ liệu vào file Excel mới
df.to_excel('SalesData_output.xlsx', index=False)

Lệnh này sẽ ghi toàn bộ dữ liệu vào file “SalesData_output.xlsx”, và tham số index=False giúp loại bỏ chỉ số (index) mặc định của Pandas.


3. Tùy Chỉnh Định Dạng Bảng Excel

Một phần quan trọng khi làm việc với Excel là định dạng bảng tính để dữ liệu dễ đọc và dễ hiểu. Bạn có thể sử dụng openpyxl để tùy chỉnh định dạng bảng tính.

a. Định Dạng Cột Doanh Thu: In Đậm và Thay Đổi Màu Sắc

from openpyxl import load_workbook
from openpyxl.styles import Font, PatternFill

# Mở file Excel vừa tạo
wb = load_workbook('SalesData_output.xlsx')
ws = wb.active

# Định dạng cột "SalesAmount" (Doanh thu)
for cell in ws['B']:  # Cột B là SalesAmount
    if cell.row == 1:  # Tiêu đề cột
        # Làm đậm chữ và thay đổi màu nền cho tiêu đề cột
        cell.font = Font(bold=True, color="FFFFFF")
        cell.fill = PatternFill(start_color="4F81BD", end_color="4F81BD", fill_type="solid")
    else:
        # Màu chữ đen cho các hàng dữ liệu
        cell.font = Font(bold=False, color="000000")

# Lưu lại file Excel sau khi thay đổi
wb.save('SalesData_output_formatted.xlsx')

Trong đoạn mã trên:

  • Font được sử dụng để làm đậm và thay đổi màu sắc của chữ.
  • PatternFill được dùng để thay đổi màu nền (fill color) cho các ô trong cột SalesAmount.

b. Điều Chỉnh Kích Thước Cột

Để đảm bảo rằng dữ liệu trong các cột được hiển thị đầy đủ, bạn có thể thay đổi kích thước các cột như sau:

# Điều chỉnh kích thước cột
ws.column_dimensions['A'].width = 20  # Cột A: ProductName
ws.column_dimensions['B'].width = 15  # Cột B: SalesAmount
ws.column_dimensions['C'].width = 15  # Cột C: Cost
ws.column_dimensions['D'].width = 15  # Cột D: SaleDate
ws.column_dimensions['E'].width = 15  # Cột E: Region

# Lưu lại file Excel sau khi điều chỉnh
wb.save('SalesData_output_formatted.xlsx')

Điều này sẽ thay đổi chiều rộng của các cột để đảm bảo dữ liệu được hiển thị rõ ràng.


4. Thêm Định Dạng Ngày Cho Cột SaleDate

Trong dữ liệu của bạn, cột SaleDate chứa các giá trị ngày tháng. Bạn có thể định dạng lại cột này sao cho ngày tháng hiển thị đúng định dạng:

# Định dạng ngày tháng cho cột SaleDate
for cell in ws['D']:
    if cell.row != 1:  # Bỏ qua tiêu đề cột
        cell.number_format = 'MM/DD/YYYY'

# Lưu lại file Excel sau khi thay đổi
wb.save('SalesData_output_formatted.xlsx')

Câu lệnh trên sẽ đảm bảo rằng các giá trị ngày tháng trong cột SaleDate sẽ được hiển thị dưới định dạng MM/DD/YYYY.


5. Kết Luận

Sử dụng Pandas để ghi dữ liệu vào Excel và openpyxl để tùy chỉnh định dạng bảng tính là một cách tuyệt vời để tự động hóa quy trình quản lý và báo cáo dữ liệu. Những bước và ví dụ trong bài viết này sẽ giúp bạn dễ dàng áp dụng vào thực tế và tạo ra các bảng tính Excel có cấu trúc đẹp, dễ đọc và dễ sử dụng.

Từ việc đọc và ghi dữ liệu đến việc tùy chỉnh định dạng, bạn sẽ có khả năng tạo ra các báo cáo chuyên nghiệp và dễ dàng chia sẻ với đồng nghiệp hoặc khách hàng.

Hãy thử nghiệm với các dữ liệu của riêng bạn và tận dụng sức mạnh của Pandasopenpyxl để nâng cao hiệu quả công việc của bạn!

Scroll to Top