Skip to content

nnstu-appmath/Generating-reports-for-control-weeks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

В даном файле рассказано, как осуществить запуск кода для работы с таблицами. Для начала, скачиваем с репозитория файл с кодом на языке Python, а также устанавливаем библиотеки pandas, oauth2client, datetime, gspread для его корректной работы.

Для работы с таблицами нам необходимо создать проект в сервисах GoogleAPI (ссылка https://console.cloud.google.com/). После создания проекта необходимо подключить к нему сервисы GoogleSheetsAPI, GoogleDriveAPI. Для этого переходим во вкладку APIs & Services, затем во вкладку Library, после чего находим нужные сервисы и подключаем их к нашему проекту. Далее нужно перейти во вкладку IAM & Admin и предоставить роли Редактора/Владельца аккаунтам, которые будут работать с проектом.

После этого нам необходимо создать сервисный аккаунт. Для этого переходим во вкладку Service Accounts, создаем сервисный аккаунт, после чего создаем для него json ключ, который автоматически скачивается на наш ПК. Путь к этому ключу необходимо вставить в код нашей программы в строку creds = ServiceAccountCredentials.from_json_keyfile_name('путь к ключу', scope).

Затем мы вновь переходим на вкладку IAM & Admin, проверяем роль нашего сервисного аккаунта, а также копируем его ссылку. Для работы с таблицами необходимо будет предоставить доступ к редактированию данным сервисным аккаунтом. Для этого мы переходим на нужную нам таблицу и нажимаем на кнопку "Настройки Доступа", после чего добавляем наш сервисный аккаунт. Для всех таблиц, включенных в работу с нашим проектом необходимо провести данную процедуру.

В 14 строке кода spreadsheet_id = 'ID таблицы' вставляем ID таблицы (указан в ссылке на таблицу https://docs.google.com/spreadsheets/d/ID таблицы/edit#gid=0), которую читает код. Нужно проверить, что названия всех столбцов совпадают с названиями столбцов в коде. Для этого проверям строку номер 18 data = sheet.get_all_records(expected_headers=["Имя и Фамилия", "Группа", "Баллы", "Дата", "За что", "Комментарий"]) В строке 15 нужно указать лист таблицы, с которого будет считываться информация sheet = client.open_by_key(spreadsheet_id).sheet1, например, в данном коде, sheet1 - это первый лист таблицы.

В 80 строке кода existing_spreadsheet_id = 'ID таблицы' вставляем ID таблицы, в которую будем записывать информацию. Аналогично с первой таблицей можно работать с различными листами таблицы. Делается это в строке 81: existing_sheet = client.open_by_key(existing_spreadsheet_id).sheet1.

В 30 строке кода можно менять дату, которая обозначает конец первой контрольной недели. target_date = datetime(гггг, м, д). (Месяц и день пишется без нуля спереди).

Итак, запускаем код. Если все операции были выполнены верно, то после завершения работы программы, во второй таблице (в которую записываем информацию) появятся данные студентов за контрольные недели.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages