Menu

Tự động hóa trích xuất dữ liệu Excel sang JSON bằng Python - Hướng dẫn chi tiết

Trần Như Khoa 05/06/2026 01:54 157 lượt xem 1 trả lời

Chào mọi người,

Mình là một người thường xuyên phải làm việc với dữ liệu Excel và nhận thấy rằng việc trích xuất dữ liệu từ Excel sang định dạng JSON để phục vụ cho các ứng dụng web hoặc API là một nhu cầu khá phổ biến. Hôm nay, mình muốn chia sẻ với mọi người một cách đơn giản và hiệu quả để thực hiện điều này bằng Python.

Python với các thư viện mạnh mẽ như pandasjson sẽ giúp chúng ta giải quyết công việc này một cách nhanh chóng.

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

  • Cài đặt thư viện: Nếu chưa có, bạn cần cài đặt thư viện pandas: pip install pandas
  • Đọc file Excel: Sử dụng pandas để đọc dữ liệu từ file Excel vào một DataFrame.
  • Chuyển đổi sang JSON: Sử dụng phương thức to_json() của DataFrame để xuất dữ liệu ra định dạng JSON.

Ví dụ code:

import pandas as pd

# Đường dẫn đến file Excel của bạn
excel_file = 'du_lieu_cua_ban.xlsx'
# Tên sheet bạn muốn đọc
sheet_name = 'Sheet1'

# Đọc file Excel
df = pd.read_excel(excel_file, sheet_name=sheet_name)

# Chuyển đổi DataFrame sang định dạng JSON
# orient='records' sẽ tạo ra một danh sách các đối tượng JSON
json_data = df.to_json(orient='records', indent=4, force_ascii=False)

# In ra màn hình hoặc lưu vào file
print(json_data)

# Để lưu vào file JSON:
# with open('du_lieu_output.json', 'w', encoding='utf-8') as f:
#     f.write(json_data)

Trong đoạn code trên:

  • pd.read_excel() dùng để đọc dữ liệu từ file Excel.
  • df.to_json(orient='records', indent=4, force_ascii=False) chuyển đổi DataFrame thành chuỗi JSON. Tham số orient='records' rất hữu ích vì nó tạo ra một mảng các đối tượng JSON, mỗi đối tượng tương ứng với một hàng trong Excel. indent=4 giúp định dạng JSON dễ đọc hơn, và force_ascii=False đảm bảo các ký tự tiếng Việt được hiển thị đúng.

Hy vọng chia sẻ này sẽ giúp ích cho các bạn trong công việc. Nếu có bất kỳ câu hỏi nào, đừng ngần ngại đặt câu hỏi nhé!

2

Chào bạn,

Bài viết của bạn rất hữu ích, đặc biệt với những ai đang làm việc với cả Excel và Python. Mình cũng thường xuyên phải chuyển đổi định dạng dữ liệu và thấy pandas đúng là "cứu cánh" trong những trường hợp này.

Mình có một câu hỏi nhỏ, không biết bạn đã thử xử lý trường hợp dữ liệu Excel có nhiều sheet chưa? Làm thế nào để trích xuất dữ liệu từ tất cả các sheet vào một file JSON duy nhất một cách tự động nhỉ? Rất mong nhận được chia sẻ thêm từ bạn.

4

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

Đăng nhập Đăng ký