AgentSkillsCN

google-sheets

读取和写入Google Sheets数据。当用户提及“google sheets”、“电子表格”、“更新表格”、“读取表格”、“追加到表格”或涉及提取数据以更新跟踪表格时加载。

SKILL.md
--- frontmatter
name: google-sheets
description: "Read and write Google Sheets data. Load when user mentions 'google sheets', 'spreadsheet', 'update sheet', 'read sheet', 'append to sheet', or references extracting data to update a tracking sheet."
version: 1.2

Google Sheets

Read, write, and manage Google Sheets via OAuth authentication.

Pre-Flight Check (ALWAYS FIRST)

bash
python3 00-system/skills/google/google-master/scripts/google_auth.py --check --service sheets

Exit codes:

  • 0: Ready - proceed with user's request
  • 1: Need login - run python3 00-system/skills/google/google-master/scripts/google_auth.py --login
  • 2: Missing deps - see ../google-master/references/setup-guide.md

Quick Reference

Read Data

bash
python3 00-system/skills/google/google-sheets/scripts/sheets_operations.py read <spreadsheet_id> "Sheet1!A1:D10"

Write Data

bash
python3 00-system/skills/google/google-sheets/scripts/sheets_operations.py write <spreadsheet_id> "Sheet1!A1" --values '[["Name", "Amount"], ["Contract A", 5000]]'

Append Rows

bash
python3 00-system/skills/google/google-sheets/scripts/sheets_operations.py append <spreadsheet_id> "Sheet1!A:D" --values '[["New Row", "Data", "Here", "Now"]]'

Get Sheet Info

bash
python3 00-system/skills/google/google-sheets/scripts/sheets_operations.py info <spreadsheet_id>

List Spreadsheets

bash
python3 00-system/skills/google/google-sheets/scripts/sheets_operations.py list --query "tracking"

Create Spreadsheet

bash
python3 00-system/skills/google/google-sheets/scripts/sheets_operations.py create "New Spreadsheet" --sheets "Data" "Summary"

Common Workflows

Extract Data -> Update Sheet

python
from sheets_operations import append_rows

data = [
    ["Contract A", "2024-01-15", 5000, "Active"],
    ["Contract B", "2024-02-01", 7500, "Pending"]
]
result = append_rows(spreadsheet_id, "Contracts!A:D", data)
print(f"Added {result['updated_rows']} rows")

Batch Update Multiple Cells

python
from sheets_operations import batch_update

data = [
    {"range": "Sheet1!A1", "values": [["Header 1"]]},
    {"range": "Sheet1!B1", "values": [["Header 2"]]},
]
batch_update(spreadsheet_id, data)

Spreadsheet ID

The spreadsheet ID is in the URL:

code
https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/edit

A1 Notation

ExampleMeaning
A1Single cell
A1:B5Range from A1 to B5
Sheet1!A1:B5Range in specific sheet
A:AEntire column A
1:1Entire row 1

Available Operations

OperationFunctionDescription
Readread_range()Read data from range
Writewrite_range()Write data to range
Appendappend_rows()Append rows to sheet
Clearclear_range()Clear values (keep formatting)
Batchbatch_update()Update multiple ranges
Createcreate_spreadsheet()Create new spreadsheet
Infoget_spreadsheet_info()Get metadata and sheets
Listlist_spreadsheets()List accessible spreadsheets

Error Handling

See ../google-master/references/error-handling.md for common errors and solutions.


Setup

First-time setup: ../google-master/references/setup-guide.md

Quick start:

  1. pip install google-auth google-auth-oauthlib google-api-python-client
  2. Create OAuth credentials in Google Cloud Console (enable Google Sheets API & Drive API, choose "Desktop app")
  3. Add to .env file at Nexus root:
    code
    GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
    GOOGLE_CLIENT_SECRET=your-client-secret
    GOOGLE_PROJECT_ID=your-project-id
    
  4. Run python3 00-system/skills/google/google-master/scripts/google_auth.py --login