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ụngpandas.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ụngElementTree.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!')
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é!