Как превратить Google Таблицы в базу данных с помощью Python



Книга Как превратить Google Таблицы в базу данных с помощью Python

Знаете ли вы, что Google Таблицы можно использовать в качестве упрощенной базы данных?


Google Таблицы  —  это облачное приложение для работы с электронными таблицами, которое может хранить данные в структурированном виде, как и большинство систем управления базами данных. Вы также можете редактировать и удалять данные парой щелчков мыши, а также получать доступ к ним в режиме онлайн.


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


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


Оглавление


1. Подключение API и загрузка учетных данных


2. Превращение Google Таблиц в базу данных с помощью Python


  • Подключение к Google Таблицам
  • Создание пустой электронной таблицы
  • Совместное использование электронной таблицы
  • Открытие электронной таблицы и загрузка данных

3. Бонус: открытие любого файла из Google Таблиц с помощью Python


Это руководство также можно посмотреть в видеоформате на английском языке.





1. Подключение API Google Диска и Google Таблиц с загрузкой учетных данных


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


Создание нового проекта


Чтобы создать новый проект, перейдите на этот сайт и выполните следующие шаги (нужно войти в свой Google-аккаунт).


  1. Выберите проект.
  2. Кликните на “Новый проект” (New Project).
  3. Когда загрузится новая страница, напишите название проекта и кликните “Создать” (Create).

Изображение автора

4. После создания проекта вы увидите следующее изображение:


Изображение автора

Кликните “Выбрать проект” (Select Project), и появится новая страница.


Подключение API Google Диска для нового проекта, создание учетных данных и их загрузка


После выбора проекта перейдите на левую панель и нажмите “API и Сервисы” (APIs & Services), а затем выберите “Библиотека” (Library), как показано ниже.


Изображение автора

Теперь на странице, приведенной ниже, нужно найти и подключить API Google Диска.


Изображение автора

Когда API Google Диска будет подключен, кликните “Создать учетные данные” (Create Credentials) в правом верхнем углу.


После этого выберите указанные ниже параметры и кликните “Далее” (Next).


Изображение автора

Дайте имя своему сервисному аккаунту и кликните “Создать и продолжить” (Create and Continue).


Изображение автора

Теперь нужно выбрать роль. В данном случае выбираем “Редактор” (Editor) в пункте “Проект” (Project), а затем нажимаем “Готово” (Done).


Изображение автора

После этого нужно снова открыть левую панель и нажать на “API и Сервисы” (APIs & Services), а затем выбрать “Учетные данные” (Credentials).


В нижней части страницы вы увидите раздел “Сервисный аккаунт” (Service Account). Здесь вам нужно нажать на свой клиентский email-адрес (учитывайте, что все файлы, которые будут созданы, сохранятся в этом клиентском email-адресе).


Изображение автора

Теперь перейдите в раздел “Ключи” (Keys) и нажмите на кнопку “Создать новый ключ” (Create new key).


Изображение автора

Затем нажмите “Создать” (Create). На ваш компьютер будет загружен JSON-файл с учетными данными. Переименуйте его в gs_credentials.json и переместите в ту же папку, где находится ваш Python-скрипт.


Наконец, осталось найти API Google Таблиц и подключить его так же, как API Google Диска.


2. Превращение Google Таблиц в базу данных с помощью Python


Подключение к Google Таблицам


Чтобы работать с Google Таблицами в Python, нужно установить gspread и oauth2client. Кроме того, мы будем использовать Pandas для чтения локальных данных и обновления их в Google Таблицах.


pip install gspread
pip install oauth2client
pip install pandas

Теперь импортируем библиотеки и подключаемся к Google Таблицам.


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

# Подсоединение к Google Таблицам
scope = ['https://www.googleapis.com/auth/spreadsheets',
"https://www.googleapis.com/auth/drive"]

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

В приведенном выше коде подключаем доступ к определенным ссылкам в списке scope, затем в переменной credentials пишем имя загруженного ранее JSON-файла.


Наконец, создаем переменную client.


Создание пустой электронной таблицы


Создадим новую электронную таблицу с именем NewDatabase.


Для этого будем использовать метод .create для определенной ранее переменной client


sheet = client.create("NewDatabase")

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


Совместное использование электронной таблицы


Поделитесь таблицей (sheet) со своим Google-аккаунтом. Для этого выполните приведенный ниже код:


sheet.share('your_email_goes_here', perm_type='user', role='writer')

После выполнения этого кода таблица появится на вашем Google Диске в разделе “Доступные мне” (Shared with me).


Открытие электронной таблицы и загрузка данных


Теперь пришло время открыть таблицу и загрузить в нее данные. Для этого используем метод .open и выбираем таблицу sheet1.


Затем считываем любой CSV-файл, имеющийся в Pandas. В данном случае будем использовать CSV-файл, который находится на Google Диске или в моем Github, хотя можно использовать любой CSV-файл.


Наконец, загрузим данные в таблицу с помощью метода .update.


# Откройте таблицу
sheet = client.open("NewDatabase").sheet1

# Прочитайте csv с помощью pandas
df = pd.read_csv('football_news')

# Экспортируйте df в таблицу
sheet.update([df.columns.values.tolist()] + df.values.tolist())

Вот и все! Теперь в таблице должны быть те же данные, что и в CSV-файле. Весь код, написанный в этом руководстве, можно найти на Github.


Бонус: открытие любого файла из Google Таблиц с помощью Python


Теперь пришло время узнать, как получить доступ к любому файлу из Google Таблиц (даже к тем, которые не были созданы с помощью вашего клиентского email-адреса).


Для этого откройте любой файл из Google Таблиц, перейдите в правый верхний угол и нажмите “Поделиться” (Share).


Изображение автора

Появится новое окно. Вставьте в него клиентский email-адрес, полученный ранее (он также находится в скачанном ранее JSON-файле), и нажмите “Отправить” (Send).


Изображение автора

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



439   0  

Comments

    Ничего не найдено.