Создавайте, пишите, обновляйте, обновляйте разрешения, перемещайте в папку с Google Sheets API и Google Drive API (и чашку чая).
Google Suite, пожалуй, самый используемый инструмент в компаниях. Интересно, почему было так сложно манипулировать API с помощью Python. Документация Google полная, но отсутствуют наглядные примеры. Даже Python Quickstart сложен для того, кто хочет только создать электронную таблицу ...
Я написал эту простую шпаргалку, в которой я буду создавать, писать и читать электронную таблицу, управлять разрешениями и перемещать ее на Google Диск.
Для этого урока я использовал Google Colab, вы можете прямо сейчас создать новый блокнот и следовать за ним.
Создайте сервисный аккаунт
Чтобы использовать Google Sheet & Drive API, нам необходимо создать учетную запись службы.
Я предполагаю, что он у вас уже есть, или вы знаете, как это сделать, я буду краток:
Перейдите сюда, нажмите Создать учетную запись службы, дайте своей учетной записи имя, нажмите Создать, выберите Роль в качестве редактора проекта (в Project ›Editor). Щелкните Готово.
После создания учетной записи службы найдите ее в списке, нажмите на три вертикальные точки справа, нажмите «Управление ключами», «Добавить ключ», «Создать новый ключ», «JSON», «Создать». Загрузите ключ, готово.
Это самый короткий раздел «Создание учетной записи службы», который я когда-либо видел.
Если оно было слишком коротким, проверьте эту статью.
Установка и импорт пакетов
Чтобы использовать Google Sheet API, нам нужны библиотека аутентификации Google и клиент Python Google API. Выполните следующие команды, чтобы установить необходимые пакеты.
!pip install google-auth-httplib2 !pip install google-api-python-client
И импортируйте следующие пакеты
import httplib2 import os from apiclient import discovery from google.oauth2 import service_account
Аутентификация в Google Sheet API и Google Drive API
Мы создадим, напишем, обновим электронную таблицу, обновим разрешения и переместим в папку с помощью Google Sheets API и Google Drive API. Поэтому нам нужно использовать Google Таблицы и клиент Python Google Диска.
Чтобы импортировать файл JSON с ключом сервисной учетной записи, укажите путь к нему.
Или, если вы также используете Google Colab, щелкните значок папки слева и нажмите кнопку с надписью Загрузить в хранилище сеанса (с массивом).
Создать папку на диске
В представлении Google Диска все представляет собой файл.
Папка - это своего рода файл (с type = «application / vnd.google-apps.folder»). У каждого файла есть родительский файл (папка).
Не запутайтесь, если вы прочитаете file_id для папки :)
> folder_id '1bLz5euWPVL-FoyQYb0DT639h9HBMyoek'
Обновить права доступа к папке
Когда мы создали его, мы не можем получить доступ к папке с нашей учетной записью. Только сервисный аккаунт может. Мы должны дать себе разрешение:
Если вы использовали свой личный адрес электронной почты, вы должны получить такое письмо:
Теперь у нас есть доступ к пустой папке, давайте создадим таблицу!
Создать электронную таблицу
> speadsheet_id '1yoVHs7XILazcZDkjDNnGdGwAsa1DUDH1vyz8YJ-XwDo'
Обновить электронную таблицу
Свежая таблица пуста, мы вставим некоторые данные: три столбца и две строки.
Если количество строк является переменным, вы можете использовать это значение в range_name:
range_name = "A1:C{}".format(len(rows))
Чтение значений из электронной таблицы
[['Medium Channel', 'Views', 'Likes'], ['Beranger', '10983908', '13084']]
Обновить разрешения таблицы
Опять же, созданная нами электронная таблица может быть доступна только для учетной записи службы, мы должны обновить разрешения:
И снова мы получаем это письмо:
Переместить в папку
Предыдущий метод хорош, если у вас есть только несколько таблиц, к которым нужно предоставить доступ.
Но если вы планируете создать огромное количество таблиц, вы получите огромное количество электронных писем… Вам следует вместо использовать этот метод:
Мы не будем обновлять разрешения для электронной таблицы, но мы переместим электронную таблицу в папку, которая уже имеет требуемые разрешения.
Помните папку, которую мы создали в начале? Мы просто используем его folder_id, и разрешения для электронной таблицы будут обновлены автоматически.
тадаа
Последний ценный совет об огромных числах
Совет на 2 часа экономии
Если вы хотите манипулировать огромными числами:
Преобразование таблицы Google в .xlsx при загрузке приведет к форматированию длинных чисел в экспоненциальном представлении.
Например, IMEI 310330432427115 будет преобразован в 3.10330432e + 14.
Потому что по умолчанию Google Sheet будет рассматривать IMEI как числа.
Ценный прием заключается в следующем: при вставке чисел, которые должны быть отформатированы как строка, добавьте в начало кавычки:
Пожалуйста!
Спасибо
Прощай, бегемоты!