Spaces:
Sleeping
Sleeping
| import gspread | |
| from gspread_dataframe import set_with_dataframe | |
| import pandas as pd | |
| from oauth2client.service_account import ServiceAccountCredentials | |
| from datetime import datetime | |
| import os | |
| import json | |
| def upload_csv_to_new_worksheet(topic_string): | |
| scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"] | |
| # link service account with roles set and api enabled | |
| gcp_service_account_json = os.environ.get("GCP_SERVICE_ACCOUNT_KEY") | |
| gcp_service_account_info = json.loads(gcp_service_account_json) | |
| creds = ServiceAccountCredentials.from_json_keyfile_dict(gcp_service_account_info, scope) | |
| client = gspread.authorize(creds) | |
| spreadsheet = client.open_by_url('https://docs.google.com/spreadsheets/d/12N10KBYoPwFnvu3iTRgfGhVVlNFeo06BxVDlcFnwSC4/edit#gid=1761713442') | |
| # create a new "sheet" in the spreadsheet, name it the current date | |
| current = datetime.now().strftime("%m/%d/%Y_%H:%M:%S") | |
| worksheet = spreadsheet.add_worksheet(title=current, rows="100", cols="50") | |
| data = pd.read_csv('data.csv') | |
| set_with_dataframe(worksheet, data) | |
| # do the same for topic model words | |
| topic_sheet_name = f"{current}_topics" | |
| topic_worksheet = spreadsheet.add_worksheet(title=topic_sheet_name, rows="100", cols="1") | |
| # split by "\n\n" and write each topic to the new worksheet | |
| topics = topic_string.split("\n\n") | |
| for i, topic in enumerate(topics, start=1): | |
| topic_worksheet.update_cell(i, 1, topic) | |
| return f"Successfully uploaded worksheets: {current} and {topic_sheet_name} to 'https://docs.google.com/spreadsheets/d/12N10KBYoPwFnvu3iTRgfGhVVlNFeo06BxVDlcFnwSC4/edit#gid=1761713442" | |