Разбор файла Excel, декодирование данных и импорт в Календарь Google с Python 3 - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть книга Excel с листом, который содержит различные имена с их списками в каждом ряду.Список на один месяц.Формат менее чем полезен, так как все это вкратце.т.е. в ячейке будет ZW, что соответствует ночной смене (21:00 - 07:30).Существуют различные другие коды, которые представляют другие изменения, которые могут произойти в любой день.

Я хотел бы иметь возможность проанализировать файл xlsx, найти определенное имя (в строке), а затем каким-то образом декодироватьсписок и импортировать список в календарь Google, чтобы сохранить вручную ввод всех данных.

Я попытался решить эту проблему с помощью библиотек pandas и xlrd, но, похоже, застрял после идентификации строки с идентификатором реестра, напримердля декодирования.

Я также решил, что мне нужно использовать API Календаря Google, поэтому я провел некоторое исследование по этому вопросу.Я создал каждую смену (ZW и т. Д.) Как объект словаря в надежде, что я каким-то образом смогу использовать его, за исключением того, что время начала и окончания остаются постоянными, даты ошибочны и никогда не совпадают, поэтому не уверен, что этополезно или нет.

import sys
import xlrd

roster = sys.argv[1]

if len(sys.argv) < 1:
    print('Please specify the location of the roster excel spreadsheet')

workbook = xlrd.open_workbook(roster)
first_sheet = workbook.sheet_by_index(0)

for sheet in workbook.sheets():
    for rowid in range(sheet.nrows):
        row = sheet.row(rowid)
        for colid, cell in enumerate(row):
            if cell.value == 'INSERT NAME HERE': # name from excel sheet
                print('The Sheet Name is: {}'.format(sheet.name))
                print('The Column ID is: {}'.format(colid))
                print('The Row ID is: {}'.format(rowid))

                row = rowid
                column = colid

                full_row = sheet.row(row)
                print(sheet.row_values(row))

Приведенная выше строка показывает:

['NAME', STAFFID, 0.84, '', 'ZW', 'ZW', 'DO', 'DO', 'DO', 'DO', 'DO', 'DO', 'LM6', 'EE', 'EE', 'LM6', 'E', 'LD', 'LD', 'DO', 'DO', 'DO', 'DO', 'DO', 'E', 'LM6', 'LM6', 'EE', 'EE', 'DO', 'ZW', 'ZW', '', 2.0, 16.0, 4.0, 32.0, 0.0, 0.0, 0.0, 0.0, 2.0, 16.0, 4.0, 24.0, 0.0, 0.0, 0.0, 0.0, 4.0, 40.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 6.0, 16.0, 128.0]

Очевидно, это список строк, и это где я застрял.Не уверен, как взять эти данные, декодировать их, а затем импортировать временные интервалы в календарь Google в любой конкретный день.Меня не интересуют цифры, только буквы.Конечно, эти коды должны быть добавлены в Календарь Google согласно списку Excel.Вот ссылка на документ Excel:

https://drive.google.com/file/d/1ILBO7AtZH6ZqXDraQwB7fzrAgsiefhJi/view?usp=sharing

Я ценю любую помощь ... Спасибо!

...