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

Как получить доступ к листам Google, используя Python и GSPread

Привет всем, в этом посте я собираюсь показать, как мы можем получить доступ и обновить электронную таблицу Google, используя … Помечено Python, CodeNewie, Ubuntu, Showdev.

Привет всем, в этом посте я собираюсь показать, как мы можем получить доступ и обновить электронную таблицу Google с помощью Python и отличную библиотеку потрясающий . С лишь несколькими строками кодов мы можем создать новый или использовать существующий лист и выполнять такую операцию, как Добавить, Обновление или удаление. Еще одна прохладная вещь, вы можете преобразовать эту электронную таблицу в PandaS DataFrame, используя только одну строку. Так что давайте начнем ..

Предпосылка

  • Учетная запись Google Developer для создания учетных данных API
  • Учетная запись Google Service. Для доступа к электронной таблице программно
  • GSPread – Библиотека Python
  • Oauth2Client – Библиотека Python

Создать учетную запись Google Service

**Шаг 1: ** Сначала вам нужно зарегистрироваться для учетной записи Google Developer, если у вас еще нет. Посетите страницу регистрации Google Developer на https://console.developers.google.com/ создать свою учетную запись.

Шаг 2: Создание учетной записи услуг Поскольку мы будем доступ к электронной таблице с использованием программ, нам нужно для создания учетной записи службы и учетные данные для него. Так что войдите в учетную запись вашего разработчика и создайте новый проект, нажав на верхний левый угол новый значок проекта.

Как показано ниже, появится новое окно. Укажите имя вашего проекта и нажмите кнопку Создать

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

Теперь нам нужно включить API, которые мы хотим использовать. Для этого учебника нам необходимо включить API для Google Drive и Google Lists. Нам нужно Google Drive API, потому что ваша электронная таблица будет сохранена на вашем диске Google. Поэтому нажмите значок меню в верхнем левом углу, а затем перейдите к ‘ API и услуги ‘а затем нажмите Библиотека И это приведет вас к странице библиотеки API, как ниже

Теперь ищите API Google Drive и нажмите Enable

После включения вам приведет вас к странице API Google Drive. Теперь нажмите Создать учетные данные

Для создания учетных данных Выполните шаги, как показано ниже скриншота ниже, и нажмите « Какие учетные данные мне нужны?

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

Когда вы нажимаете «Продолжить в шаге», будет создан файл JSON с деталями аутентификации.

Сохраните этот файл в вашей системе.

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

Поздравляю! Мы успешно создали нашу учетную запись службы для доступа к электронной таблице Google с помощью Python. Теперь давайте создадим выборочную электронную таблицу, чтобы мы могли использовать его для нашей программы Python для доступа. Давай пойдем в https://docs.google.com/spreadsheadshies и создать лист образца. Я создал лист именованного ученика для этого примера учебника.

Чтобы использовать этот лист с нашим кодом Python, нам нужно поделиться файлом с идентификатором электронной почты клиента Google API. Откройте электронную таблицу и нажмите Поделиться Кнопка в правом верхнем углу электронной таблицы. Вы можете найти клиентскую электронную почту из файла JSON, который мы только что загружены в предыдущем примере.

Установите библиотеки Python

Установите эти библиотеки, чтобы мы могли добавить и обновлять электронную таблицу с помощью Python

pip install gspread
pip install oauth2client

Хотя эти два библиотека достаточно для нас для этого учебника. Однако мы можем установить Pandas, чтобы просмотреть ваши данные, используя PandaS DataFrame

pip install pandas as pd

Давайте начнем кодирование

На данный момент мы создали учетную запись Google, а затем включили API Google Drive API и API Google и создали учетные данные и сохранены в нашем локальном диске как файл json. Мы также создали образец электронной таблицы и поделились листом с клиентским электронным письмом, приведенным в файле JSON. Мы также установили необходимые библиотеки Python на вышеуказанном шаге. Итак, теперь давайте начнем начать код 🙂

import gspread
from oauth2client.service_account import ServiceAccountCredentials
import pandas as pd

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

#Authenticate Google service account
gp = gspread.service_account(filename='Testapp-9f185f872dd9.json')

Нам нужно предоставить правильный путь файла JSON. Поскольку я скопировал этот файл в свой каталог проекта, так что просто название достаточно.

Теперь давайте откроем электронную таблицу «Студент», мы создали в одном из шагов.

#Open Google spreadsheet
gsheet = gp.open('Student')

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

#Select worksheet
wsheet = gsheet.worksheet("Sheet1")

Как показано выше, мы выбрали «Sheet1», который является первым листом.

Получить все записи с листа

Теперь для получения записей или значений ячеек мы можем использовать одну из функций ниже

  • get_all_values () Получает все значения из рабочего листа в виде списка списков.
  • get_all_records () Получает все значения из листа в виде списка словарей.

Давайте попробуем один за другим на ноутбуке Jupyter

wsheet.get_all_values()

Выход из приведенного выше заявления о ноутбуке Jupyter. Как показано, все записи выбираются как список словарей

[['Student', 'Course', 'Grade', 'Score'],
 ['John', 'Data Science', 'A', '480'],
 ['Amit', 'Cyber Security', 'B', '440'],
 ['Ronit', 'Data Science', 'A', '475'],
 ['Maya', 'Business Analytics', 'A', '481']]

Точно так же для get_all_values ()

wsheet.get_all_records()

Выход:

[{'Student': 'John', 'Course': 'Data Science', 'Grade': 'A', 'Score': 480},
 {'Student': 'Amit', 'Course': 'Cyber Security', 'Grade': 'B', 'Score': 440},
 {'Student': 'Ronit', 'Course': 'Data Science', 'Grade': 'A', 'Score': 475},
 {'Student': 'Maya',
  'Course': 'Business Analytics',
  'Grade': 'A',
  'Score': 481}]

Использование PandaS DataFrame. Сначала мы извлекли все значения из листа, затем установили столбцы для DataFrame, который ничего не является первым списком All_Rows.

all_rows = wsheet.get_all_values()
columns = all_rows.pop(0)
df = pd.DataFrame(all_rows,columns=columns)

Вот выход DF

    Student Course  Grade   Score
0   John    Data Science    A   480
1   Amit    Cyber Security  B   440
2   Ronit   Data Science    A   475
3   Maya    Business Analytics  A   481

Получить значения ячейки из листа

Чтобы получить конкретное значение сотовой ценности acell функция. Ниже фриппет будет печать “Джон”

cell_A2 = wsheet.acell('A2').value
print(cell_A2)

Чтобы получить значение, использующее координаты * клетки * Функция, как показано ниже. Это также напечатает “Джон”

cell = wsheet.cell(2,1).value
print(cell)

Создание другого листа

Чтобы создать еще один лист на той же электронной таблице add_worksheet функция

another_sheet = gsheet.add_worksheet(title="AnotherSheet", rows="10", cols="10")

Это создаст еще один лист с именем «AnouseheHeet» с 10 строками и 10 столбцами

Удаление рабочего листа

Используйте функцию ** DEL_WORKSHEET **, чтобы удалить лист. Так что ниже инструкция будет удалять «Anouseheheet», мы создали только сейчас на последнем шаге

gsheet.del_worksheet(another_sheet)

Обновление стоимости ячейки

Чтобы обновить значения ячейки, которые мы можем использовать ** Update ** Функция, как приведенная ниже операции ниже, заменит «Джон» с «Дэвидом»

wsheet.update('A2', 'David')

Мы можем выполнить же операцию с использованием координат

worksheet.update_cell(1, 2, 'David')

Вставить новый строк

С append_row мы можем добавить новую строку в конце. Как показано ниже, мы добавляем новую строку для нового студента.

wsheet.append_row(["Gina","Computer Science",'B',447])

Заключение

Как показано в приведенных выше примерах, GSPread ** – отличная и супер простая в использовании библиотека для доступа к электронной таблице Google. Надеюсь, примеры и шаги, показанные выше, помогут вам построить свои приложения с помощью электронной таблицы Google. Я использовал * GSPread * Для одного из моего приложения для отслеживания моих ежедневных расходов с использованием SMS. Я собираюсь публиковать об этом в моей следующей истории о том, как построить счет трекера с использованием ** GSPread , Twilio ** и ** Колбу а затем развертывание его на Heroku 🙂

Оригинал: “https://dev.to/shaikh/how-to-access-google-sheets-using-python-and-gspread-4p2c”