Menu

Tự động hóa chuyển đổi dữ liệu Excel sang định dạng XML bằng Python

Lương Quốc Uy 05/06/2026 07:03 360 lượt xem 3 trả lời

Chào các anh em trong diễn đàn,

Dạo này mình đang có nhu cầu chuyển đổi một lượng lớn dữ liệu từ file Excel sang định dạng XML để tích hợp với một hệ thống khác. Mình đã tìm hiểu và thử nghiệm một vài cách, hôm nay muốn chia sẻ lại kinh nghiệm của mình với mọi người, hy vọng sẽ giúp ích cho ai đó đang gặp phải vấn đề tương tự.

Sau khi cân nhắc, mình quyết định sử dụng Python vì sự linh hoạt và mạnh mẽ của nó trong việc xử lý dữ liệu. Cụ thể, mình đã sử dụng thư viện pandas để đọc file Excel và thư viện xml.etree.ElementTree để tạo file XML.

Các bước thực hiện cơ bản:

  • Bước 1: Đọc dữ liệu Excel
    Sử dụng pandas.read_excel() để nạp dữ liệu từ file .xlsx vào một DataFrame.
  • Bước 2: Xử lý dữ liệu (nếu cần)
    Thực hiện các thao tác làm sạch, chuẩn hóa dữ liệu nếu cần thiết trước khi chuyển đổi.
  • Bước 3: Tạo cấu trúc XML
    Duyệt qua từng hàng của DataFrame, tạo các phần tử XML tương ứng.
  • Bước 4: Ghi file XML
    Sử dụng ElementTree.write() để lưu cấu trúc XML đã tạo ra file .xml.

Ví dụ code minh họa:
import pandas as pd
import xml.etree.ElementTree as ET

# Đọc file Excel
df = pd.read_excel('du_lieu.xlsx')

# Tạo phần tử gốc
root = ET.Element('DuLieuExcel')

# Duyệt qua từng hàng và tạo các phần tử con
for index, row in df.iterrows():
    item = ET.SubElement(root, 'Item')
    for col_name in df.columns:
        ET.SubElement(item, col_name).text = str(row[col_name])

# Tạo cây XML
tree = ET.ElementTree(root)

# Ghi file XML
tree.write('ket_qua.xml', encoding='utf-8', xml_declaration=True)

print('Đã chuyển đổi thành công!')

Lưu ý: Đoạn code trên là ví dụ cơ bản, bạn có thể tùy chỉnh cấu trúc XML cho phù hợp với yêu cầu của hệ thống đích.

Hy vọng chia sẻ này hữu ích cho mọi người. Nếu có bất kỳ câu hỏi hay góp ý nào, đừng ngần ngại để lại bình luận bên dưới nhé!

2

Thật tuyệt khi bạn chia sẻ kinh nghiệm này! Mình cũng đang cần chuyển đổi dữ liệu Excel sang XML cho một dự án tích hợp hệ thống.

Bạn có thể cho mình biết thêm về cách bạn xử lý các trường hợp dữ liệu phức tạp trong Excel, ví dụ như ô chứa nhiều giá trị, hoặc các định dạng ngày tháng khác nhau khi chuyển sang XML không? Cảm ơn bạn nhiều!

1

Hay quá bạn ơi! Mình cũng đang vật lộn với việc chuyển đổi dữ liệu Excel sang XML đây. Bạn có thể chia sẻ chi tiết hơn về cách bạn sử dụng thư viện pandas để đọc file Excel và lxml (hay thư viện nào khác) để tạo cấu trúc XML không? Mình đang tìm kiếm giải pháp hiệu quả cho một dự án tương tự.

2

Hay quá, mình cũng đang rất quan tâm đến chủ đề này!

Bạn có thể chia sẻ thêm về cách bạn xử lý các trường hợp đặc biệt không, ví dụ như các ô trong Excel chứa ký tự đặc biệt, hoặc các kiểu dữ liệu khác nhau (số, chuỗi, ngày tháng) khi chuyển sang XML thì bạn định dạng như thế nào? Rất mong nhận được chia sẻ chi tiết hơn từ bạn.

2

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký