Menu

Tự động hóa cập nhật dữ liệu Excel từ nguồn dữ liệu JSON bằng Python

Cung Giang Thương 30/03/2026 06:40 261 lượt xem 1 trả lời

Chào mọi người,

Mình thường xuyên phải làm việc với các file Excel và đôi khi cần lấy dữ liệu từ các file JSON để cập nhật vào bảng tính. Trước đây mình làm thủ công, tốn khá nhiều thời gian. Gần đây, mình có tìm hiểu và áp dụng Python để tự động hóa việc này, thấy hiệu quả rõ rệt nên muốn chia sẻ lại cho anh em nào đang gặp tình huống tương tự.

Vấn đề: Cập nhật dữ liệu từ file JSON vào Excel một cách tự động.

Giải pháp dùng Python:

Mình sử dụng thư viện pandasopenpyxl để xử lý.

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

  • Đọc dữ liệu từ file JSON vào DataFrame của pandas.
  • Ghi DataFrame này vào một file Excel mới hoặc cập nhật vào file Excel có sẵn.

Code ví dụ (minh họa):

import pandas as pd

# Đường dẫn tới file JSON của bạn
json_file = 'data.json'
# Đường dẫn tới file Excel bạn muốn ghi dữ liệu vào
excel_file = 'output.xlsx'

try:
    # Đọc dữ liệu JSON
    df = pd.read_json(json_file)

    # Ghi dữ liệu vào file Excel
    # Nếu file Excel chưa có, nó sẽ được tạo mới
    # Nếu file Excel đã có, sheet sẽ được ghi đè (hoặc bạn có thể chỉ định sheet)
    df.to_excel(excel_file, index=False)

    print(f'Đã cập nhật dữ liệu thành công vào {excel_file}')

except FileNotFoundError:
    print(f'Lỗi: Không tìm thấy file {json_file}')
except Exception as e:
    print(f'Đã xảy ra lỗi: {e}')

Lưu ý:

  • Bạn cần cài đặt các thư viện cần thiết: pip install pandas openpyxl
  • Đảm bảo cấu trúc dữ liệu trong file JSON phù hợp để pandas có thể đọc.
  • Với các trường hợp phức tạp hơn (ví dụ: cập nhật vào một sheet cụ thể, thêm dữ liệu thay vì ghi đè), bạn có thể cần tùy chỉnh thêm code với openpyxl.

Hy vọng chia sẻ này giúp ích cho mọi người!

3

Cái này hay quá bạn ơi! Mình cũng hay phải làm với dữ liệu JSON mà cứ mỗi lần lại ngồi copy-paste thủ công, đúng là tốn thời gian thật.

Bạn có thể chia sẻ rõ hơn về đoạn code xử lý file JSON với pandas không? Mình đang tò mò xem nó đọc cấu trúc JSON phức tạp thế nào và map sang DataFrame ra sao.

Cảm ơn bạn đã chia sẻ nhé!

5

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

Đăng nhập Đăng ký