Chào mọi người,
Dạo gần đây mình có làm việc nhiều với dữ liệu dạng JSON và cần chuyển đổi nó sang định dạng Excel để dễ dàng báo cáo và chia sẻ. Thay vì làm thủ công, mình đã tìm hiểu và áp dụng Python để tự động hóa quá trình này. Hôm nay mình muốn chia sẻ lại cách làm cho anh em nào đang gặp tình huống tương tự.
Về cơ bản, chúng ta sẽ cần 2 thư viện chính của Python:
json: Để đọc và xử lý file JSON.pandas: Để tạo DataFrame và xuất ra file Excel.
Các bước thực hiện khá đơn giản:
- Đọc dữ liệu từ file JSON.
- Chuyển đổi dữ liệu JSON sang cấu trúc DataFrame của pandas.
- Xuất DataFrame này ra file Excel (.xlsx).
Đây là đoạn code ví dụ:
import json
import pandas as pd
# Đường dẫn tới file JSON của bạn
json_file_path = 'data.json'
# Đường dẫn tới file Excel đầu ra
excel_file_path = 'report.xlsx'
try:
with open(json_file_path, 'r', encoding='utf-8') as f:
data = json.load(f)
# Giả sử dữ liệu JSON của bạn là một danh sách các dictionary
# Nếu cấu trúc JSON khác, bạn cần điều chỉnh bước này
df = pd.DataFrame(data)
# Xuất ra file Excel
df.to_excel(excel_file_path, index=False)
print(f"Đã tạo file Excel thành công: {excel_file_path}")
except FileNotFoundError:
print(f"Lỗi: Không tìm thấy file {json_file_path}")
except json.JSONDecodeError:
print(f"Lỗi: Không thể giải mã file JSON {json_file_path}. Kiểm tra định dạng.")
except Exception as e:
print(f"Đã xảy ra lỗi không mong muốn: {e}")
Lưu ý: Đoạn code trên giả định file JSON của bạn có cấu trúc là một danh sách các đối tượng (list of dictionaries). Nếu cấu trúc JSON phức tạp hơn, bạn có thể cần xử lý thêm để đưa về dạng bảng trước khi tạo DataFrame.
Hy vọng chia sẻ này hữu ích cho mọi người!