Рубрики
Без рубрики

Интеграция GSheets с Python для начинающих

В этой статье мы узнаем, как вы сможете интегрировать Gshiestes с Python в простом пошаговом уроке.

Автор оригинала: Pankaj Kumar.

В этой статье мы узнаем, как вы сможете интегрировать Gshiestes с Python в простом пошаговом уроке.

Вступление

Много времени, пока мы работаем с кодом, мы в конечном итоге осознаем, что нам нужно место для хранения информации, произведенной из кода или использованного им.

В конце концов, посмотреть дальше, мы приходим к реализации, что решение, которое используется во всем мире, является чем-то известным как база данных Отказ

Вы также постепенно выясните, что эти базы данных могут быть доступны через ваш код, и быть в восторге, вы не можете дождаться, чтобы попробовать его.

Быстро вперед через несколько недель спустя, вы понимаете, что есть много вариантов для баз данных и что Листы Google То, что вы всегда использовали, также действует как база данных.

Со всеми операциями создания, чтения, обновления и удаления или сокращенного, Crud Отказ

Ну, вот хорошие новости, вы правы!

Листы Google Это программное обеспечение, которое позволяет нам просмотреть, редактировать и сотрудничать онлайн, чтобы записать записи, которые используются в нашей повседневной жизни.

Но вот то, что многие люди не понимают. Google также предоставляет нам функцию доступа к листам от комфорта нашего кода.

Мы можем выполнять все операции, которые мы могли в браузере, через наш код!

Однако, как всегда, есть необходимость для начала шага, чтобы понять, как работает код.

Итак, теперь, когда вы знаете, что касается следующего, давайте доберемся работать с Google Pails!

Установка Google Python Client API

Чтобы начать работу с работой с листами Google через Python, нам сначала нужно будет убедиться, что у нас есть функциональность и возможность запустить его.

Это говорило, вот Пип Команда установки для Библиотека клиента Google ,

pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib

Мы собираемся использовать несколько других модулей, которые облегчают работу с записями, и является круговой развязкой, чтобы работать с листами Google напрямую,

pip install gspread oauth2client

Это должно работать на большинство случаев Python, однако, если у вас есть какие-либо проблемы, вы можете посмотреть на Установка страницы Отказ

Шаги для интеграции GSHeets с Python

Далее мы будем смотреть на шаги, чтобы интегрировать GSHELSSELS с Python. Следуйте инструкциям ниже:

1. Настройка проекта в GCP

Чтобы работать с API GSHETS, мы сначала должны создать и использовать проект, который мы сделали в Платформа Google Cloud или также известный как GCP Отказ

Платформа Google Cloud Это набор облачных вычислений, по определению, и для взаимодействия с API, который основан на облаке, нам нужно работать с GCP как предварительно реквизит.

Итак, имейте в виду, что GCP и твой Google Drive связаны, и это означает, что если вы создаете проект и просто включить Привод API , мы сможем получать учетные данные, необходимые для API, чтобы взаимодействовать со сценарием и получать данные.

Итак, сначала первые вещи! Мы должны войти в наши соответствующие счета, ведущие к Google Cloud Console Отказ

Счет GCP

Теперь давайте создадим проект. Метод для этого, просто нажав на Выберите проект Указано красной стрелкой на изображении и создание Новый проект Как только окно всплывает.

Вы можете выбрать имя любое имя в качестве заголовка вашего проекта и выбрать опцию организации без организации, если вы не подключаете этот проект к конкретной организации.

Если вы еще не перенаправлены на приборную панель, вы можете получить доступ к нему через боковую панель, (Главная -> Приборная панель) Отказ

2. Включение API привода

Теперь, когда мы создали проект, пришло время принести API.

Простое решение для перехода и пытаться найти API, будет использовать панель поиска сверху, запрос для Google Drive API Отказ

GCP Bar

Если вы нашли правильный, он должен выглядеть немного такое так,

GCP Drive Connect

Теперь, когда мы здесь, давайте включите его, что должно автоматически привести к обзору API.

Далее вы хотите перейти к разделу учетных данных через боковую панель. Обзор -> Учетные данные Отказ

Давайте генерируем наши учетные данные в соответствии с нашим проектом, это означает, что наши ответы должны соответствовать, Google Drive API , Веб-сервер , Данные приложения, и а Нет для компетентной интеграции двигателя , чтобы выглядеть что-то вроде этого,

GCP Creds

Затем мы создаем учетную запись услуг с нашим входом Имя учетной записи услуг Это может быть что угодно, а роль в качестве редактора.

Мы выделяем наши разрешения, чтобы быть одним, как редактор , как это позволяет нам выполнять все операции CRUD, но не позволяет нам удалять весь файл.

Мы также хотим, чтобы этот файл был JSON Файл, как мы будем использовать в этом примере.

Тогда мы также продолжаем и включить Листы API Аналогичным образом, но, однако, не создавайте какие-либо учетные данные.

GCP-листы подключаются

3. Работа с Credss.json

Теперь вы можете вернуться к учетным данным, которые вы скачали в JSON Формат и хранить его в том же каталоге, что и тот, где мы будем создавать скрипт.

Мы будем переименовывать файл учетных данных как Credsss.json В этом проекте, но имейте в виду, что вы можете переименовать его, однако, нужно будет переименовать его всякий раз, когда файл упоминается или используемый.

Теперь внутри Credsss.json Мы получим кучу ключей и ценностей, но нам нужно только беспокоиться о Client_email ключ. Скопируйте значение для этого ключа, поскольку нам нужно поделиться нашим листом Google с помощью этого идентификатора электронной почты для доступа к его содержимому.

Затем либо создайте новый лист, либо используйте существующий лист и добавьте электронную почту через опцию Chare, присутствующие в правом верхнем углу страницы.

Листов

Вы должны заканчиваться чем-то вроде этого к концу этого шага.

Счета листов 1.

Это позволяет учетной записи службы Google иметь возможность получить доступ и изменять лист, который был предоставлен вами.

4. Доступ к GSheets с Python

Ну наконец то!

Теперь мы достигаем части, где мы начнем работать над кодом.

Итак, воспоминания к началу статьи, в котором мы установили несколько дополнительных модулей, теперь время, когда мы их используем.

gspread Модуль по существу является API Python для модуля Google Pailets и состоит из приличного Документация и Oauth2Client Модуль – это просто библиотека для работы с ОАУТ.

Библиотека OAUTT2Client теперь считается устаревшей, и была сделана так в пользу Google-Auth библиотека.

Тем не менее, это будет достаточно для нашего примера работы с листом. Давайте сначала импортируйте модули начать работу над сценарием!

# Authentication and access modules
import gspread
from oauth2client.service_account import ServiceAccountCredentials

# pprint is used for pretty printing the output
# It is not vital to the script in any way, but rather for us
# to view the examples
from pprint import pprint 

Далее мы добавляем в область для доступа к листам,

# sheet access
scope = ["https://spreadsheets.google.com/feeds",'https://www.googleapis.com/auth/spreadsheets',"https://www.googleapis.com/auth/drive.file","https://www.googleapis.com/auth/drive"]

Это определяет страницы откуда мы извлекаем наши электронные таблицы. Как только мы закончим с этим, сценарий будет знать, где искать наши документы, отсюда, отсюда термин Область Отказ

Далее мы переходим к работе о предоставлении и разрешении наших учетных данных для учетной записи услуг, используя Oauth2Client модуль.

creds = ServiceAccountCredentials.from_json_keyfile_name("creds.json", scope)
client = gspread.authorize(creds)

Теперь лист, который я создал, назван как Тестер и использую записи с первого листа, поэтому присвоение конкретного листа к переменной выполняется в таком виде,

sheet = client.open("tester").sheet1

И, мы закончили!

Теперь мы установили соединение с листом, а остальная часть нашего кода является проверка функциональности электронной таблицы.

Желательно проверить его на своем собственном листе/примере, так как это довольно практический опыт.

# retrieves all records
print("Retrieving all records.... ")
data = sheet.get_all_records()
pprint(data)

# retrieving specific row values
print("\nRetrieving information from row 3... ")
row = sheet.row_values(3)
pprint(row)

# retrieving specific column values
print("\nRetrieving information from column 3... ")
col = sheet.col_values(3)
pprint(col)

# retrieving specific cell
print("\nRetrieving value of a cell placed at (1, 2) in the sheet... ")
cell = sheet.cell(1, 2).value
pprint(cell)

# inserting details into the sheet
print("\nInserting details into the sheet... ")
insertDetails = ["Adithya", "testemail@gmail.com", "33YEP4554"]
sheet.insert_row(insertDetails, 1)

# updating details in the sheet
print("\nUpdating details in the sheet...")
sheet.update_cell(2, 2, "dat.adithya@gmail.com")

В конце концов, мы вставляем значение в лист через лист .insert_row И укажите, что он был частью строки 1.

Вот вывод из командной строки,

[{'33YEP4554': 2222333312,
  'Adithya': 'Murthy',
  'testemail@gmail.com': 'murthyhere@gmail.com'},
 {'33YEP4554': 8098776633,
  'Adithya': 'John',
  'testemail@gmail.com': 'johnnyboi@yahoo.in'},
 {'33YEP4554': 123456789,
  'Adithya': 'Boiler',
  'testemail@gmail.com': 'boilerplate@email.com'},
 {'33YEP4554': 2524523233,
  'Adithya': 'lalith',
  'testemail@gmail.com': 'lalith.14bcm4243@gmail.com'},
 {'33YEP4554': 2654432266,
  'Adithya': 'swathi',
  'testemail@gmail.com': 'swathi@rediffmail.com'},
 {'33YEP4554': 6666634232,
  'Adithya': 'chinnu',
  'testemail@gmail.com': 'lamba@yahoo.com'},
 {'33YEP4554': 6345311456,
  'Adithya': 'aditya',
  'testemail@gmail.com': 'adinayaki@gmail.com'}]

Retrieving information from row 3...
['John', 'johnnyboi@yahoo.in', '8098776633']

Retrieving information from column 3...
['33YEP4554',
 '2222333312',
 '8098776633',
 '123456789',
 '2524523233',
 '2654432266',
 '6666634232',
 '6345311456']

Retrieving value of a cell placed at (1, 2) in the sheet...
'testemail@gmail.com'

Inserting details into the sheet...

Updating details in the sheet...

И вот изображение самой электронной таблицы,

Вид листа 2.

5. Движение вперед

Теперь, когда мы работали с основным принципом модуля листов, было бы разумно иметь возможность автоматизировать это в некоторой степени.

Несколько примеров будут входить в посещаемость людей, которые появляются на месте через командную строку, или просто добавляют во все записи файла в лист Google, с небольшим количеством форматирования ввода.

Документация GSPread состоит из гораздо большего количества особенностей, чем те, которые обсуждали здесь, в этой статье, начиная от обновления клеток для удаления целых рабочих листов, поэтому вот посмотрите на что Отказ

Заключение

Работа с листами Google, используя Python, открывает много дверей, когда речь идет о записении деталей, возможно, может быть с использованием его в качестве базы данных, совместная запись, или даже просто обновляя детали, которые могут понять его.

В целом, блестящий способ начать работу с работы с API Google.

Это, как говорят, это также может быть отличная идея изучить некоторые другие модули, которые могут помочь вам работать с базами данных и конфигурацией, такими как SQL, Pandas и модуль DOTENV.

Кроме того, перед тем, как проверить их, вот ссылка на сценарий, который мы разработали сегодня – Гистовая ссылка .

Рекомендации