Chào mọi người,
Dạo này mình đang làm việc nhiều với Google Sheets và Excel, nhận thấy việc đồng bộ dữ liệu giữa hai nền tảng này khá mất thời gian. Mình tìm tòi và phát hiện ra cách dùng Python để tự động cập nhật dữ liệu từ Google Sheets sang Excel. Chia sẻ với anh em nào đang cần nhé.
Yêu cầu:
- Cài đặt thư viện
gspreadvàopenpyxl:pip install gspread openpyxl pandas - Cấu hình Google Cloud Platform để lấy API key cho Google Sheets.
Các bước chính:
- Kết nối với Google Sheets: Sử dụng
gspreadđể đọc dữ liệu từ file Google Sheet của bạn. - Xử lý dữ liệu (tùy chọn): Bạn có thể dùng
pandasđể lọc, sắp xếp hoặc biến đổi dữ liệu nếu cần. - Ghi dữ liệu vào Excel: Sử dụng
openpyxlhoặcpandasđể ghi dữ liệu đã đọc được vào file Excel.
Ví dụ code đơn giản (minh họa):
import gspread
import pandas as pd
# Xác thực và mở Google Sheet
sheet_id = 'YOUR_SHEET_ID'
# Cấu hình xác thực ở đây (ví dụ: dùng service account)
sheet = gspread.service_account(filename='path/to/your/credentials.json').open_by_key(sheet_id).sheet1
data = sheet.get_all_records()
df = pd.DataFrame(data)
# Ghi dữ liệu vào file Excel
output_excel_file = 'output_data.xlsx'
df.to_excel(output_excel_file, index=False)
print(f"Dữ liệu đã được cập nhật vào {output_excel_file}")
Cách này giúp mình tiết kiệm kha khá thời gian, không phải copy-paste thủ công nữa. Anh em nào có cách hay hơn hoặc gặp vấn đề gì thì cùng thảo luận nhé!