Загрузка данных из Google-таблиц
(пока не решили - надо ли выделять это в отдельный метод или достаточно такой вот обертки)
import pandas as pd import dask.dataframe as dd # Ссылка для экспорта в CSV. Доступность должна быть по ссылке csv_url = 'https://docs.google.com/spreadsheets/d/ваш_идентификатор_таблицы/export?format=csv' # Читаем данные в DataFrame df = pd.read_csv(csv_url) df_out = dd.from_pandas(df)
Доступ к файлу с аутентификацией
Установить библиотеку аутентификации гугл на docker где развернуть dvt
В Google Cloud Console создать проект, включить Google Drive API и создать сервисный аккаунт. Далее во вкладке Keys нажать Add key — JSON и скачай файл.
В настройках доступа к таблице добавьте пользователя с правами на чтение
Вставить содержимое json в код ноды:
import pandas as pd import dask.dataframe as dd from google.oauth2 import service_account from google.auth.transport.requests import Request # Авторизация через сервисный аккаунт creds = service_account.Credentials.from_service_account_info( { # сюда вставить содержимое JSON-ключа сервисного аккаунта }, scopes=['https://www.googleapis.com/auth/drive.readonly'], ) creds.refresh(Request()) csv_url = 'https://docs.google.com/spreadsheets' df = pd.read_csv(csv_url, storage_options={'Authorization': f'Bearer {creds.token}'}) df_out = dd.from_pandas(df, npartitions=1)