Загрузка данных из Google-таблиц

Для работы с Google-таблицами есть очень простой метод, применимый к DVT и его возможностям обработки данных на основе Pandas.

(пока не решили - надо ли выделять это в отдельный метод или достаточно такой вот обертки)

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)

Доступ к файлу с аутентификацией

  1. Установить библиотеку аутентификации гугл на docker где развернуть dvt

  2. В Google Cloud Console создать проект, включить Google Drive API и создать сервисный аккаунт. Далее во вкладке Keys нажать Add key — JSON и скачай файл.

  3. В настройках доступа к таблице добавьте пользователя с правами на чтение

  4. Вставить содержимое 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)