Chào các bác, hôm nay em muốn chia sẻ một chút kinh nghiệm về việc tự động hóa trích xuất dữ liệu từ file Excel sang định dạng JSON bằng Python. Em thấy trong chuyên mục này có nhiều bài về Python xử lý Excel, nhưng chủ yếu là cập nhật dữ liệu hoặc gửi báo cáo. Em thì hay phải làm việc với các API hoặc các hệ thống khác cần dữ liệu dưới dạng JSON, nên việc chuyển đổi này rất hữu ích.
Về cơ bản, chúng ta sẽ dùng thư viện pandas để đọc file Excel và json để xử lý file JSON.
Các bước chính như sau:
- Đọc dữ liệu Excel vào DataFrame của pandas:
df = pd.read_excel('du_lieu_cua_ban.xlsx') - Chuyển DataFrame sang định dạng JSON:
json_data = df.to_json(orient='records', indent=4)
Trong đó:orient='records'sẽ tạo ra một danh sách các đối tượng JSON, mỗi đối tượng tương ứng với một hàng trong Excel.indent=4giúp file JSON dễ đọc hơn với thụt lề 4 khoảng trắng.
- Ghi dữ liệu JSON ra file:
with open('ket_qua.json', 'w', encoding='utf-8') as f: f.write(json_data)
Mã nguồn đầy đủ có thể trông như thế này:
import pandas as pd
# Đọc file Excel
df = pd.read_excel('du_lieu_cua_ban.xlsx')
# Chuyển đổi sang JSON
json_data = df.to_json(orient='records', indent=4)
# Ghi ra file JSON
with open('ket_qua.json', 'w', encoding='utf-8') as f:
f.write(json_data)
print('Đã chuyển đổi dữ liệu thành công!')Cách này giúp em tiết kiệm rất nhiều thời gian so với việc copy-paste thủ công. Không biết có bác nào có kinh nghiệm hay cách làm nào khác hiệu quả hơn không, chia sẻ cho em với ạ!