Marketing toolset using Pandas & Google Sheets API, with classes for a variety of other Google APIs
Project description
Google Sheets with Pandas dataframes, useful when ‘prospecting’ in analytics work and hacking.
Setup
Create or select a project in Google’s developer console
Also, you will need to enable the APIs you plan to use
Get a client_secrets.json credentials file from the credentials section
Select OAuth client ID from the dropdown in the API access pane
Load the prospecting module in a Python session to initialize the ~/.prospecting/ folder in your home directory
Place the client_secrets.json file in the ~/.prospecting/credentials/ directory
Load an API class in a Python session, then run apiclass.authenticate() and follow steps
You only need to setup authentication once per API unless creds change
Examples:
import prospecting as p
—
Use stats sheet to store stats and misc statistics (scopelist defaults to read-only, so pass scopes for writing):
ss_stats = p.SheetsApi(spreadsheetid = 'PASTE_GOOGLE_SHEETID_HERE',
scopelist=['https://www.googleapis.com/auth/spreadsheets',
'https://www.googleapis.com/auth/drive.metadata'])
ss_stats.authenticate()
ss_stats.update('Sheet1', somedataframe)
—
Use a reference sheet to provide a named entity list (or stopwords, vocabulary) for NLP preprocessing:
ss_reference = p.SheetsApi(spreadsheetid = 'PASTE_GOOGLE_SHEETID_HERE',
scopelist=['https://www.googleapis.com/auth/spreadsheets',
'https://www.googleapis.com/auth/drive.metadata'])
ss_reference.authenticate()
named_entity_list = list(ss_reference.get('ne!A:B').iloc[:,0].values)
—
Get keywords sheet as dataframe, filter, take sampled subset, upload new df to other tab in spreadsheet:
ss_kw = p.SheetsApi(spreadsheetid = 'PASTE_GOOGLE_SHEETID_HERE',
scopelist=['https://www.googleapis.com/auth/spreadsheets',
'https://www.googleapis.com/auth/drive.metadata'])
ss_kw.authenticate()
# Get data using spreadsheet syntax like ('sheetname') or ('sheetname!A:B25')
df_query = ss_kw.get('queries')
df_query_subset = df_query[(df_query['raw_len'] > 1) &
(df_query['reject'] != 1)]
# Take a subsample of data
df_query_subset_sample = df_query_subset.sample(frac=0.5)
df_query_subset_sample.reset_index(drop=True, inplace=True)
# Update 'sheetname' with dataframe object
ss_kw.update('queries_shuffled', df_query_subset_sample)
Key changes between 0.1.4 and 0.1.2:
Switched order of input arguments for ss.update() function:
From ss.update(dataframe, 'sheetname') To ss.update('sheetname', dataframe)Removed Docker files to simplify
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prospecting-0.1.5-py3-none-any.whl.
File metadata
- Download URL: prospecting-0.1.5-py3-none-any.whl
- Upload date:
- Size: 19.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f324edc2dc7fe27a268152d706f79ed3efd67cb6108879823f2b3adf85cb2daf
|
|
| MD5 |
57a499cb87d24bf88bbeb8747f88f5f3
|
|
| BLAKE2b-256 |
12172a27ee382519063728c3ef7ee014f14c62bc1ce59c08f1eb63df74a4d3e5
|