Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| #from google.oauth2 import service_account | |
| import pandas as pd | |
| import gspread | |
| import json | |
| def get_gspread_connection(): | |
| # Create a connection object. | |
| # credentials = service_account.Credentials.from_service_account_info( | |
| # st.secrets["gcp_service_account"], | |
| # scopes=[ | |
| # "https://www.googleapis.com/auth/spreadsheets", | |
| # ], | |
| # ) | |
| #client = gspread.authorize(credentials) | |
| st_credentials = st.secrets["gcp_service_account"] | |
| if type(st_credentials) is str: | |
| print("INFO: transforming str to dict") | |
| credentials_dict = json.loads(st_credentials, strict=False) | |
| client = gspread.service_account_from_dict(credentials_dict) | |
| else: | |
| print("INFO: using credentials in dict") | |
| client = gspread.service_account_from_dict(st_credentials) | |
| st_sheet_url = st.secrets["private_gsheets_url"] | |
| spreadsheet = client.open_by_url(st_sheet_url) | |
| worksheet = spreadsheet.get_worksheet(0) | |
| return worksheet | |
| #@st.cache_data | |
| def read_gspread(): | |
| worksheet = get_gspread_connection() | |
| df = pd.DataFrame(worksheet.get_all_records()) | |
| return df | |
| def write_gspread(df): | |
| #df.loc[len(df)] = ['Mia','worst'] | |
| worksheet = get_gspread_connection() | |
| worksheet.update([df.columns.values.tolist()] + df.values.tolist()) | |