Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Hướng dẫn sử dụng Google Sheets API với Python
Trong bài viết này, bạn sẽ được hướng dẫn cách sử dụng Google Sheets API trong Python bằng cách tích hợp với thư viện gspread. Đây là một phương pháp đơn giản và hiệu quả để truy cập và thay đổi nội dung trên Google Sheets qua một tập lệnh Python. Google Sheets có thể trở thành một hệ thống lưu trữ dữ liệu mạnh mẽ cho các ứng dụng web hoặc các dự án cá nhân.
Cách cài đặt và chuẩn bị trong Python
1. Truy cập Google Developer Console
Mở Google Developer Console tại địa chỉ:
https://console.developers.google.com
- Tạo dự án mới (New Project).
- Kích hoạt Drive API và Sheets API cho dự án.
2. Tạo thông tin xác thực (Credentials)
- Chọn loại tài khoản: Service Account.
- Thiết lập tên tài khoản và cấp quyền Editor.
- Tạo khóa bảo mật và tải xuống tệp JSON chứa thông tin xác thực.
3. Chia sẻ quyền với Google Sheets
- Mở Google Sheets mà bạn muốn tích hợp.
- Chia sẻ quyền chỉnh sửa (Editor) cho địa chỉ email trong trường
client_email
(từ tệp JSON thông tin xác thực).
Sử dụng thư viện gspread trong Python
Cài đặt gspread
Sử dụng pip để cài đặt thư viện:
pip install gspread
Cách sử dụng cơ bản
Dưới đây là một số thao tác cơ bản bạn có thể thực hiện với gspread:
import gspread # Kết nối đến tài khoản Google bằng tệp JSON thông tin xác thực gc = gspread.service_account(filename='credentials.json') # Mở Google Sheets bằng khóa (sheet ID) hoặc tên bảng sh = gc.open_by_key("sheet_id_của_bạn") # Mở bằng khóa # sh = gc.open("Tên_bảng") # Mở bằng tên worksheet = sh.sheet1 # Truy cập Sheet đầu tiên
Truy vấn dữ liệu từ Google Sheets
Bài viết này được đăng tại [free tuts .net]
# Lấy tất cả dữ liệu dưới dạng danh sách từ điển records = worksheet.get_all_records() # Trả về danh sách dictionary print(records) # Lấy tất cả dữ liệu dưới dạng danh sách các danh sách values = worksheet.get_all_values() # Trả về danh sách danh sách print(values) # Lấy dữ liệu từ hàng đầu tiên hoặc cột đầu tiên row_values = worksheet.row_values(1) # Dữ liệu hàng đầu tiên col_values = worksheet.col_values(1) # Dữ liệu cột đầu tiên print(row_values, col_values) # Kiểm tra số hàng và số cột print(worksheet.row_count, worksheet.col_count) # Lấy một ô hoặc vùng dữ liệu cụ thể print(worksheet.get('A1')) # Giá trị tại ô A1 # print(worksheet.get('A1:C1')) # Giá trị từ A1 đến C1
Thêm và cập nhật dữ liệu
# Dữ liệu mẫu user = ["Susan", "28", "Sydney"] # Chèn dữ liệu vào hàng hoặc cột worksheet.insert_row(user, 3) # Chèn vào hàng thứ 3 worksheet.append_row(user) # Thêm vào cuối bảng # Cập nhật giá trị của một ô cụ thể worksheet.update_cell(1, 2, "Giá trị mới") # Cập nhật ô ở hàng 1, cột 2
Xóa dữ liệu
# Xóa hàng hoặc cột worksheet.delete_rows(1) # Xóa hàng đầu tiên worksheet.delete_columns(1) # Xóa cột đầu tiên
Tạo Client thủ công trong Python
Nếu bạn đã tải và chuẩn bị thông tin xác thực ở định dạng JSON, bạn có thể tạo một client thủ công bằng đoạn mã dưới đây:
import json from google.oauth2.service_account import ( Credentials as ServiceAccountCredentials, ) # Phạm vi quyền truy cập DEFAULT_SCOPES = [ 'https://www.googleapis.com/auth/spreadsheets', 'https://www.googleapis.com/auth/drive', ] # Đọc thông tin xác thực từ tệp JSON with open('credentials.json', 'r') as f: credentials = json.load(f) # Tạo thông tin xác thực creds = ServiceAccountCredentials.from_service_account_info(credentials, scopes=DEFAULT_SCOPES) # Tạo kết nối với Google Sheets thông qua gspread gc = gspread.Client(auth=creds)
Kết bài
Với Google Sheets API và thư viện gspread, bạn có thể dễ dàng quản lý và làm việc với dữ liệu trên Google Sheets một cách tự động và hiệu quả. Hướng dẫn này giúp bạn thực hiện các thao tác cơ bản như truy vấn dữ liệu, thêm, xóa và cập nhật thông tin trên Google Sheets thông qua Python. Đây là công cụ mạnh mẽ cho các ứng dụng cần lưu trữ và thao tác dữ liệu nhỏ trực tiếp từ Sheets. Chúc bạn thực hiện thành công!