gspread: A Python API for Seamless Google Sheets Integration
This repository profile is provided by osrepos.com, an open source repository discovery platform.

Summary
gspread is a powerful Python API designed for seamless interaction with Google Sheets. It offers a simple and comprehensive interface to programmatically open, read, write, and format data in spreadsheets, along with managing worksheets and access permissions. This library is an essential tool for automating Google Sheets operations directly from Python applications.
Repository Information
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Introduction
gspread is a robust Python library that provides a simple yet powerful interface for working with Google Sheets. It allows developers to programmatically access, modify, and manage Google Spreadsheets, making it ideal for automation, data processing, and reporting tasks. With gspread, you can easily open spreadsheets by title, key, or URL, read and write cell ranges, control sharing and access, and perform batch updates. Please note that the project is currently looking for new maintainers to continue its development and support.
Installation
To install gspread, use pip:
pip install gspread
gspread requires Python 3.8+ to run.
Examples
Basic Usage
After creating credentials in the Google API Console, you can start using gspread:
import gspread
# Authenticate using a service account (or oauth, api_key)
gc = gspread.service_account()
# Open a spreadsheet by title
wks = gc.open("Where is the money Lebowski?").sheet1
# Update a range of cells
wks.update([[1, 2], [3, 4]], "A1")
# Update a single cell
wks.update_acell("B42", "it's down there somewhere, let me take another look.")
# Format a header range
wks.format('A1:B1', {'textFormat': {'bold': True}})
Opening a Spreadsheet
gspread offers flexible ways to open your spreadsheets:
# Open by title
sh = gc.open('My poor gym results')
# Open by key (from the spreadsheet's URL)
sht1 = gc.open_by_key('0BmgG6nO_6dprdS1MN3d3MkdPa142WFRrdnRRUWl1UFE')
# Open by full URL
sht2 = gc.open_by_url('https://docs.google.com/spreadsheet/ccc?key=0Bm...FE&hl')
Reading Data
You can easily retrieve data from your worksheets:
# Get a single cell value by coordinates
val = worksheet.cell(1, 2).value
# Get all values from the first row
values_list = worksheet.row_values(1)
# Get all values from the first column
values_list = worksheet.col_values(1)
Why Use gspread
gspread simplifies the complex process of interacting with Google Sheets API, offering a Pythonic and intuitive interface. It eliminates the need to deal directly with low-level API calls, allowing developers to focus on their application logic. Its comprehensive features, including batch updates, flexible data retrieval, and robust authentication options, make it an excellent choice for anyone looking to integrate Google Sheets into their Python projects for data management, reporting, or automation.
Links
For more detailed information, examples, and to contribute, refer to the official resources:
Source repository
Open the original repository on GitHub.