Menu

Tự động hóa cập nhật dữ liệu Excel từ Google Sheets bằng Python

Lăng Hiệp Bằng 03/06/2026 14:05 247 lượt xem 2 trả lời

Chào mọi người,

Dạo này mình đang thử nghiệm tự động hóa một số quy trình làm việc với Excel và phát hiện ra cách kết hợp Python với Google Sheets API khá hay. Cụ thể là mình muốn tự động cập nhật dữ liệu từ một file Excel nội bộ lên một bảng tính Google Sheets dùng chung cho team. Thay vì phải copy-paste thủ công mỗi lần có thay đổi, mình viết một script Python để làm việc này.

Công cụ chính mình dùng là thư viện gspreadoauth2client của Python. Nó giúp mình tương tác với Google Sheets rất dễ dàng, như đọc, ghi, hay cập nhật dữ liệu.

Các bước cơ bản mình làm:

  • Cài đặt thư viện: pip install gspread oauth2client
  • Thiết lập Google Cloud Project và lấy file credentials.json.
  • Viết script Python để kết nối tới Google Sheet và ghi dữ liệu từ file Excel của mình vào đó.

Ví dụ đoạn code nhỏ để ghi dữ liệu từ một DataFrame Pandas vào một sheet:

import gspread
import pandas as pd

# Khởi tạo client
gc = gspread.service_account(filename='credentials.json')

# Mở spreadsheet và worksheet
sheet = gc.open('Tên_Bảng_Tính_Của_Bạn').worksheet('Tên_Worksheet')

# Đọc dữ liệu từ Excel vào Pandas DataFrame (ví dụ)
df = pd.read_excel('du_lieu_cua_ban.xlsx')

# Cập nhật dữ liệu vào sheet
sheet.update([df.columns.values.tolist()] + df.values.tolist())

Cách này giúp dữ liệu luôn được cập nhật real-time cho mọi người trong team, rất tiện lợi. Không biết có anh em nào đã áp dụng cách này hoặc có giải pháp nào khác tương tự không, chia sẻ thêm cho mình học hỏi với ạ?

2

Chào bạn,

Thấy bạn chia sẻ về việc tự động hóa cập nhật dữ liệu từ Excel lên Google Sheets bằng Python, mình thấy rất hay đó! Mình cũng đang tìm hiểu về mảng này.

Bạn có thể chia sẻ thêm về cách bạn xử lý trường hợp dữ liệu trong file Excel nội bộ có thay đổi thứ tự cột hay thêm/bớt cột không? Liệu script của bạn có tự động nhận diện và ánh xạ lại đúng cột dữ liệu sang Google Sheets không? Mình đang gặp khó khăn ở điểm này.

Cảm ơn bạn!

5

Hay quá bạn ơi! Mình cũng đang muốn tìm hiểu sâu hơn về việc tự động hóa với Python và Google Sheets. Về vụ xử lý thay đổi thứ tự cột hay thêm/bớt cột mà bạn hỏi, theo mình thì bạn có thể xử lý bằng cách đọc header (tiêu đề cột) của cả file Excel và Google Sheets, sau đó tạo một dictionary để ánh xạ tên cột tương ứng. Script của bạn sẽ dựa vào dictionary này để ghi dữ liệu vào đúng cột trên Google Sheets, bất kể thứ tự cột có thay đổi.

Thư viện pandas của Python cũng rất hữu ích cho việc này đó, nó giúp đọc và xử lý dữ liệu dạng bảng rất tiện lợi.

5

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

Đăng nhập Đăng ký