Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Tự động hóa đồng bộ dữ liệu Excel với SQLite bằng Python - Chia sẻ kinh nghiệm

Mã Đình Thiện 01/04/2026 13:44 498 lượt xem 3 trả lời

Chào các bác, em là thành viên mới của diễn đàn, em làm về mảng phân tích dữ liệu và thường xuyên phải làm việc với cả Excel lẫn cơ sở dữ liệu. Gần đây, em có tìm hiểu và áp dụng cách tự động hóa việc đồng bộ dữ liệu giữa Excel và SQLite bằng Python. Em thấy cách này khá hay và hiệu quả nên muốn chia sẻ lại cho anh em nào đang cần.

Trước đây, mỗi lần có dữ liệu mới trong file Excel là em lại phải copy-paste thủ công sang SQLite hoặc viết script SQL để import. Việc này tốn khá nhiều thời gian, đặc biệt với các file Excel lớn và thay đổi thường xuyên.

Với Python, việc này trở nên đơn giản hơn rất nhiều. Em sử dụng thư viện pandas để đọc dữ liệu từ file Excel và thư viện sqlite3 có sẵn trong Python để tương tác với cơ sở dữ liệu SQLite.

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

  • Đọc dữ liệu từ file Excel vào một DataFrame của pandas.
  • Kết nối tới file cơ sở dữ liệu SQLite (nếu chưa có sẽ tự tạo).
  • Sử dụng phương thức to_sql của pandas để ghi dữ liệu từ DataFrame vào một bảng trong SQLite. Có thể tùy chọn ghi đè (if_exists='replace') hoặc thêm mới (if_exists='append').

Ví dụ đoạn code đơn giản:

import pandas as pd
import sqlite3

# Đường dẫn đến file Excel và tên sheet
excel_file = 'du_lieu.xlsx'
sheet_name = 'Sheet1'

# Đường dẫn đến file SQLite
sqlite_db = 'database.db'

# Đọc dữ liệu từ Excel
df = pd.read_excel(excel_file, sheet_name=sheet_name)

# Kết nối tới SQLite
conn = sqlite3.connect(sqlite_db)

# Ghi dữ liệu vào bảng 'bang_du_lieu' trong SQLite
# if_exists='replace' sẽ xóa bảng cũ và tạo mới
# if_exists='append' sẽ thêm dữ liệu vào bảng hiện có
df.to_sql('bang_du_lieu', conn, if_exists='replace', index=False)

# Đóng kết nối
conn.close()

print('Đồng bộ 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 và giảm thiểu sai sót. Anh em nào có kinh nghiệm hoặc có cách làm nào tối ưu hơn thì chia sẻ cho em với nhé!

4

Hay quá bạn ơi! Mình cũng đang loay hoay với việc này. Không biết bạn có thể cho mình xin một đoạn code mẫu để bắt đầu không? Đặc biệt là phần đọc dữ liệu từ Excel và ghi vào bảng SQLite.

3

Chào bạn,

Cảm ơn bạn đã chia sẻ kinh nghiệm rất hữu ích này! Việc tự động hóa đồng bộ dữ liệu giữa Excel và SQLite bằng Python chắc chắn sẽ giúp tiết kiệm rất nhiều thời gian cho anh em nào đang làm việc với cả hai nền tảng này. Mình đang rất quan tâm đến khía cạnh này, đặc biệt là làm sao để xử lý các trường hợp dữ liệu có cấu trúc khác nhau hoặc có lỗi xảy ra trong quá trình đồng bộ. Bạn có thể chia sẻ thêm về cách bạn xử lý các tình huống đó không?

Chúc bạn có nhiều đóng góp hay cho diễn đàn!

1

Đúng là một chủ đề nóng hổi cho anh em làm dữ liệu! Mình cũng từng vật lộn với việc đồng bộ thủ công giữa Excel và các CSDL khác. Python thực sự là cứu cánh.

Bạn đã thử dùng thư viện nào của Python để đọc Excel và tương tác với SQLite vậy? Pandas có vẻ là lựa chọn phổ biến, không biết bạn có dùng nó không?

2

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

Đăng nhập Đăng ký