Skip to main content

Simple Extractor on Sheets or SEOS wraps extraction on Google Sheets

Project description

Seos

made-with-python PyPI pyversions Maintenance Coverage Awesome Badges

Simple Extractor on Sheets (or SEOS) is an extraction tool focused on Google Sheet data scraping. It uses Google's Python API client to access those data; this allows the library to access on a lower level functions defined by Google without the need of using another Sheets abstraction.

Features

Seos features are put below and their status if they're well-tested using PyTest.

Feature Status
Connection to a Google Sheet given an OAuth credentials file and Sheet ID Passed unit test
Extraction on a sheet with a defined scope Passed unit test
Sheet name switching Passed unit test

Installation

# if using poetry
# highly recommended
poetry add seos

# also works with standard pip
pip install seos

Getting Started

Seos uses APIs defined by Google to access Sheets data; but the idea is that developing with Seos should be understandable when connecting to a data and changing contexts; e.g. change in Sheet Name or change in scope.

The initial step would be to pass a credentials file and the sheet ID as an entrypoint to the data. It assumes that you have a credentials file taken from Google Cloud in JSON format.

from seos import Seos
extractor = Seos(
    credentials_file="./credentials.json"
    spreadsheet_id="<SPREADSHEET-ID>"
)

Once an extractor context is created, we can then define the sheet name and scope then executing extract if you're happy with the parameters.

extractor.sheet_name = "Report - June 1, 1752"
extractor.scope = "A1:D1"
extractor.extract()

With this, changing the scope and the sheet name will act as a cursor for your sheet data. We can get anything from the sheet just by changing the scope.

extractor.sheet_name = "Report - June 1, 1752"
extractor.scope = "A1:D" # get all from A1 until end of column D
extractor.extract()

We can even do sheet switching if necessary for data that contains several contexts.

extractor.sheet_name = "Report - June 1, 1752"
extractor.scope = "A1:D"
extractor.extract()

extractor.sheet_name = "Report - June 2, 1752"
extractor.scope = "B5:G5"
extractor.extract()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for seos, version 0.3.5
Filename, size File type Python version Upload date Hashes
Filename, size seos-0.3.5-py3-none-any.whl (5.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size seos-0.3.5.tar.gz (5.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page