Автор оригинала: 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 Отказ
Теперь давайте создадим проект. Метод для этого, просто нажав на Выберите проект Указано красной стрелкой на изображении и создание Новый проект Как только окно всплывает.
Вы можете выбрать имя любое имя в качестве заголовка вашего проекта и выбрать опцию организации без организации, если вы не подключаете этот проект к конкретной организации.
Если вы еще не перенаправлены на приборную панель, вы можете получить доступ к нему через боковую панель, (Главная -> Приборная панель) Отказ
2. Включение API привода
Теперь, когда мы создали проект, пришло время принести API.
Простое решение для перехода и пытаться найти API, будет использовать панель поиска сверху, запрос для Google Drive API Отказ
Если вы нашли правильный, он должен выглядеть немного такое так,
Теперь, когда мы здесь, давайте включите его, что должно автоматически привести к обзору API.
Далее вы хотите перейти к разделу учетных данных через боковую панель. Обзор -> Учетные данные Отказ
Давайте генерируем наши учетные данные в соответствии с нашим проектом, это означает, что наши ответы должны соответствовать, Google Drive API , Веб-сервер , Данные приложения, и а Нет для компетентной интеграции двигателя , чтобы выглядеть что-то вроде этого,
Затем мы создаем учетную запись услуг с нашим входом Имя учетной записи услуг Это может быть что угодно, а роль в качестве редактора.
Мы выделяем наши разрешения, чтобы быть одним, как редактор , как это позволяет нам выполнять все операции CRUD, но не позволяет нам удалять весь файл.
Мы также хотим, чтобы этот файл был JSON Файл, как мы будем использовать в этом примере.
Тогда мы также продолжаем и включить Листы API Аналогичным образом, но, однако, не создавайте какие-либо учетные данные.
3. Работа с Credss.json
Теперь вы можете вернуться к учетным данным, которые вы скачали в JSON
Формат и хранить его в том же каталоге, что и тот, где мы будем создавать скрипт.
Мы будем переименовывать файл учетных данных как Credsss.json
В этом проекте, но имейте в виду, что вы можете переименовать его, однако, нужно будет переименовать его всякий раз, когда файл упоминается или используемый.
Теперь внутри Credsss.json
Мы получим кучу ключей и ценностей, но нам нужно только беспокоиться о Client_email
ключ. Скопируйте значение для этого ключа, поскольку нам нужно поделиться нашим листом Google с помощью этого идентификатора электронной почты для доступа к его содержимому.
Затем либо создайте новый лист, либо используйте существующий лист и добавьте электронную почту через опцию Chare, присутствующие в правом верхнем углу страницы.
Вы должны заканчиваться чем-то вроде этого к концу этого шага.
Это позволяет учетной записи службы 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...
И вот изображение самой электронной таблицы,
5. Движение вперед
Теперь, когда мы работали с основным принципом модуля листов, было бы разумно иметь возможность автоматизировать это в некоторой степени.
Несколько примеров будут входить в посещаемость людей, которые появляются на месте через командную строку, или просто добавляют во все записи файла в лист Google, с небольшим количеством форматирования ввода.
Документация GSPread состоит из гораздо большего количества особенностей, чем те, которые обсуждали здесь, в этой статье, начиная от обновления клеток для удаления целых рабочих листов, поэтому вот посмотрите на что Отказ
Заключение
Работа с листами Google, используя Python, открывает много дверей, когда речь идет о записении деталей, возможно, может быть с использованием его в качестве базы данных, совместная запись, или даже просто обновляя детали, которые могут понять его.
В целом, блестящий способ начать работу с работы с API Google.
Это, как говорят, это также может быть отличная идея изучить некоторые другие модули, которые могут помочь вам работать с базами данных и конфигурацией, такими как SQL, Pandas и модуль DOTENV.
Кроме того, перед тем, как проверить их, вот ссылка на сценарий, который мы разработали сегодня – Гистовая ссылка .