Google Spreadsheets API
A simple Python wrapper for the Google Spreadsheeta API. [](http://travis-ci.org/yoavaviram/python-google-spreadsheet)
Features
An object oriented interface for Worksheets
Supports List Feed view of spreadsheet rows, represented as dictionaries
Compatible with Google App Engine
Requirements
Before you get started, make sure you have:
Installed [Gdata](http://code.google.com/p/gdata-python-client/) (pip install gdata)
Usage
List Spreadsheets and Worksheets:
>>> from google_spreadsheet.api import SpreadsheetAPI
>>> api = SpreadsheetAPI(GOOGLE_SPREADSHEET_USER,
GOOGLE_SPREADSHEET_PASSWORD, GOOGLE_SPREADSHEET_SOURCE)
>>> spreadsheets = api.list_spreadsheets()
>>> spreadsheets
[('MyFirstSpreadsheet', 'tkZQWzwHEjKTWFFCAgw'), ('MySecondSpreadsheet', 't5I-ZPGdXjTrjMefHcg'),
('MyThirdSpreadsheet', 't0heCWhzCmm9Y-GTTM_Q')]
>>> worksheets = api.list_worksheets(spreadsheets[0][1])
>>> worksheets
[('MyFirstWorksheet', 'od7'), ('MySecondWorksheet', 'od6'), ('MyThirdWorksheet', 'od4')]
Please note that in order to work with a Google Spreadsheet it must be accessible to the user who’s login credentials are provided. The GOOGLE_SPREADSHEET_SOURCE argument is used by Google to identify your application and track API calls.
Working with a Worksheet:
>>> sheet = spreadsheet.get_worksheet('tkZQWzwHEjKTWFFCAgw', 'od7')
>>> rows = sheet.get_rows()
>>> len(rows)
18
>>> row_to_update = rows[0]
>>> row_to_update['name'] = 'New Name'
>>> sheet.update_row(row_to_update)
{'name': 'New Name'...}
>>> row_to_insert = rows[0]
>>> row_to_insert['name'] = 'Another Name'
>>> row = sheet.insert_row(row_to_insert)
{'name': 'Another Name'...}
>>> sheet.delete_row(row)
>>> sheet.delete_all_rows()
Advanced Queries:
>>> sheet = spreadsheet.get_worksheet('tkZQWzwHEjKTWFFCAgw', 'od7')
>>> rows = sheet.get_rows(query='name = "Joe" and height < 175')
Or filter in memory:
>>> sheet = spreadsheet.get_worksheet('tkZQWzwHEjKTWFFCAgw', 'od7')
>>> filtered_rows = sheet.get_rows(
filter_func=lambda row: row['status'] == "READY")
Sort:
>>> sheet = spreadsheet.get_worksheet('tkZQWzwHEjKTWFFCAgw', 'od7')
>>> rows = sheet.get_rows(order_by='column:age', reverse='true')
That’s it.
For more information about these calls, please consult the [Google Spreadsheets API Developer Guide](https://developers.google.com/google-apps/spreadsheets/).
Tests
To run the test suite please follow these steps:
Make sure [Nose](http://readthedocs.org/docs/nose/en/latest/) is installed: (pip install nose)
Create a local file named: test_settings.py with the following variables set to the relevant values: GOOGLE_SPREADSHEET_USER, GOOGLE_SPREADSHEET_PASSWORD, GOOGLE_SPREADSHEET_SOURCE, GOOGLE_SPREADSHEET_KEY, GOOGLE_WORKSHEET_KEY, COLUMN_NAME, COLUMN_UNIQUE_VALUE
Run nosetests
License
Copyright © 2012 Yoav Aviram
See LICENSE for details.
Metadata
Release files for python-google-spreadsheet 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| python-google-spreadsheet-2.0.0.tar.gz | 4.2 kB | Details |
Release files / python-google-spreadsheet-2.0.0.tar.gz
| Download URL | python-google-spreadsheet-2.0.0.tar.gz |
|---|---|
| Size | 4.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ab0ba21efc79d731db7cd0269080fe8caaa64cfd0d31328d4b739b2e074350a8
|
|
BLAKE2b-256 checksum How to use checksums |
64d15d2f81f82cc2a98135b5a58a1518c6b700c010140a79c6c749bd44be6671
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |