def scha_01(): """0420502 Справка о стоимости чис - SR_0420502_R1""" shortURL = 'SR_0420502_R1' # код вкладки sheetName = fun.sheetNameFromUrl(urlSheets, shortURL) # имя вкладки ws = wb[sheetName] cellBegin = 'C10' # левая-верхняя ячейка с данными print(f'{sheetName} - {shortURL}') # --------------------------------------------------------- # Переносим данные в форму: # Заголовки формы в файле-Аванкор AvancoreTitle = 'Раздел I. Реквизиты акционерного инвестиционного фонда (паевого инвестиционного фонда)' # Первая ячейка с данными (левая-верхняя) AvancoreCellBegin = 'A10' # Последняя ячейка (правая-нижняя) AvancoreCellEnd = 'M10' # Количество колонок для копирования в таблице Аванкор AvancoreTblCols = 5 # Копируем данные из файла Аванкор в форму XBRL copyFromAvancore(ws, AvancoreCellBegin, AvancoreCellEnd, AvancoreTblCols) # --------------------------------------------------------- # Записываем в форму идентификатор фонда dcop.copy_id_fond_to_tbl(ws, id_fond) # --------------------------------------------------------- # Меняем местами значения ячеек и добавляем id фонда и УК adj.corrector_scha_01(wb, id_fond, shortURL=shortURL) # --------------------------------------------------------- # Корректируем реквизиты фонда: "№ лицензии", "ОКПО" ws.cell(10, 4).value = str(ws.cell(10, 4).value).split('.')[0] # "№ лицензии" ws.cell(10, 5).value = str(ws.cell(10, 5).value).split('.')[0] # "ОКПО" # Убираем лишние '.00' в конце строки, # которые могут появиться после копирования: # "номер лицензии", "ОКПО" adj.corrector_00(ws, 'D', 'E', row=10)
def scha_12(): """0420502 Справка о стоимости _12 SR_0420502_R4""" shortURL = 'SR_0420502_R4' # код вкладки sheetName = fun.sheetNameFromUrl(urlSheets, shortURL) # имя вкладки ws = wb[sheetName] cellBegin = 'C10' cellPeriod = 'C6' print(f'{sheetName} - {shortURL}') # --------------------------------------------------------- # Переносим данные в форму: # Заголовки формы в файле-Аванкор AvancoreTitle = 'Раздел IV. Обязательства' # Первая ячейка с данными (левая-верхняя) AvancoreCellBegin = 'I133' # Последняя ячейка (правая-нижняя) AvancoreCellEnd = 'O137' # Количество колонок для копирования в таблице Аванкор AvancoreTblCols = 4 # Копируем данные из файла Аванкор в форму XBRL copyFromAvancore(ws, AvancoreCellBegin, AvancoreCellEnd, AvancoreTblCols) # --------------------------------------------------------- # Вставляем данные о периоде отчетности adj.corrector_scha_03to12_(wb, df_avancor, cellPeriod, shortURL=shortURL) # --------------------------------------------------------- # Форматируем ячейки fun.cellFormat(ws, cellBegin) # for row in range(10, ws.max_row + 1): # for col in range(3, ws.max_column + 1): # ws.cell(row, col).alignment = Alignment(horizontal='right') # --------------------------------------------------------- # Записываем в форму идентификатор фонда dcop.copy_id_fond_to_tbl(ws, id_fond)
def scha_13(): """0420502 Справка о стоимости _13 SR_0420502_R5""" shortURL = 'SR_0420502_R5' # код вкладки sheetName = fun.sheetNameFromUrl(urlSheets, shortURL) # имя вкладки ws = wb[sheetName] cellBegin = 'C9' print(f'{sheetName} - {shortURL}') # --------------------------------------------------------- # Переносим данные в форму: # Заголовки формы в файле-Аванкор AvancoreTitle = 'Раздел V. Стоимость чистых активов' # Первая ячейка с данными (левая-верхняя) AvancoreCellBegin = 'I143' # Последняя ячейка (правая-нижняя) AvancoreCellEnd = 'K145' # Количество колонок для копирования в таблице Аванкор AvancoreTblCols = 2 # Копируем данные из файла Аванкор в форму XBRL copyFromAvancore(ws, AvancoreCellBegin, AvancoreCellEnd, AvancoreTblCols) # --------------------------------------------------------- # Корректируем количество паев, # устанавливая нужную точностью знаков после запятой adj.corrector_scha_13_(id_fond, ws, df_avancor) # --------------------------------------------------------- # Записываем в форму идентификатор фонда dcop.copy_id_fond_to_tbl(ws, id_fond) # --------------------------------------------------------- # Форматируем ячейки fun.cellFormat(ws, cellBegin)
def scha_10(): """0420502 Справка о стоимости _10 SR_0420502_R3_P8""" shortURL = 'SR_0420502_R3_P8' # код вкладки sheetName = fun.sheetNameFromUrl(urlSheets, shortURL) # имя вкладки ws = wb[sheetName] cellBegin = 'C10' cellPeriod = 'C6' print(f'{sheetName} - {shortURL}') # --------------------------------------------------------- # Переносим данные в форму: # Заголовки формы в файле-Аванкор AvancoreTitle = 'Подраздел 8. Дебиторская задолженность' # Первая ячейка с данными (левая-верхняя) AvancoreCellBegin = 'I117' # Последняя ячейка (правая-нижняя) AvancoreCellEnd = 'O121' # Количество колонок для копирования в таблице Аванкор AvancoreTblCols = 4 # Копируем данные из файла Аванкор в форму XBRL copyFromAvancore(ws, AvancoreCellBegin, AvancoreCellEnd, AvancoreTblCols) # --------------------------------------------------------- # Проставляем нулевые значения в форме adj.corrector_scha_03to10(wb, shortURL=shortURL) # --------------------------------------------------------- # Вставляем данные о периоде отчетности adj.corrector_scha_03to12_(wb, df_avancor, cellPeriod, shortURL=shortURL) # --------------------------------------------------------- # Записываем в форму идентификатор фонда dcop.copy_id_fond_to_tbl(ws, id_fond) # --------------------------------------------------------- # Форматируем ячейки fun.cellFormat(ws, cellBegin)
def scha_07(): """0420502 Справка о стоимости ч_7 SR_0420502_R3_P5""" shortURL = 'SR_0420502_R3_P5' # код вкладки sheetName = fun.sheetNameFromUrl(urlSheets, shortURL) # имя вкладки ws = wb[sheetName] cellBegin = 'C10' cellPeriod = 'C6' print(f'{sheetName} - {shortURL}') # --------------------------------------------------------- # Переносим данные в форму: # Заголовки формы в файле-Аванкор AvancoreTitle = 'Подраздел 5. Имущественные права (за исключением прав аренды недвижимого имущества, прав из кредитных договоров и договоров займа и прав требования к кредитной организации выплатить денежный эквивалент драгоценных металлов)' # Первая ячейка с данными (левая-верхняя) AvancoreCellBegin = 'I84' # Последняя ячейка (правая-нижняя) AvancoreCellEnd = 'O89' # Количество колонок для копирования в таблице Аванкор AvancoreTblCols = 4 # Копируем данные из файла Аванкор в форму XBRL copyFromAvancore(ws, AvancoreCellBegin, AvancoreCellEnd, AvancoreTblCols) # --------------------------------------------------------- # Проставляем нулевые значения в форме adj.corrector_scha_03to10(wb, shortURL=shortURL) # --------------------------------------------------------- # Вставляем данные о периоде отчетности adj.corrector_scha_03to12_(wb, df_avancor, cellPeriod, shortURL=shortURL) # --------------------------------------------------------- # Записываем в форму идентификатор фонда dcop.copy_id_fond_to_tbl(ws, id_fond) # --------------------------------------------------------- # Форматируем ячейки fun.cellFormat(ws, cellBegin)
def prirost_02(): """ 0420503 Отчет о приросте об у_2 -> SR_0420503_R2 """ shortURL = 'SR_0420503_R2' sheetName = fun.sheetNameFromUrl(urlSheets, shortURL) # имя нужной формы ws_xbrl = wb_xbrl[sheetName] print(f'{sheetName} - {shortURL}') row = ws_xbrl.max_row cols = [2, 3] # Вкладка с которой копируем данные # 0420502 Справка о стоимости ч_2 'SR_0420502_R2' shortURL_from = 'SR_0420502_R2' sheetName_from = fun.sheetNameFromUrl( urlSheets, shortURL_from) # имя нужной формы ws_xbrl_from = wb_xbrl[sheetName_from] row_start_from = ws_xbrl_from.max_row # список копирумых колонок cols_from = [2, 4] # --------------------------------------------------------- # вставляем период dataEnd = ws_xbrl_from.cell(row_start_from, 2).value dataBbegin = dataEnd[:-2] + '01' ws_xbrl.cell(row, 2).value = dataBbegin + ' - ' + dataEnd # --------------------------------------------------------- # копируем код валюты ws_xbrl.cell(row, 3).value = \ ws_xbrl_from.cell(row_start_from, 4).value # --------------------------------------------------------- # Записываем в форму идентификатор фонда dcop.copy_id_fond_to_tbl(ws_xbrl, id_fond)
def makeForm(shortURL, avancoreTitle, max_number, cell_start): cell_start_row, cell_start_col = coordinate_to_tuple(cell_start) sheetName = fun.sheetNameFromUrl(urlSheets, shortURL) # имя вкладки ws = wb[sheetName] print(f'{sheetName} - {shortURL}') # Копируем данные из файла Аванкор if copyFromAvancore(ws, avancoreTitle, max_number, cell_start_row, cell_start_col): # Записываем в форму идентификатор фонда dcop.copy_id_fond_to_tbl(ws, id_fond) else: # Если ничего скопировано не было, то Раздел пуст. # Удаляем вкладку wb.remove(ws)
def prirost_04(): """ 0420503 Отчет о приросте об у_4 -> SR_0420503_R3 """ shortURL = 'SR_0420503_R3' sheetName = fun.sheetNameFromUrl(urlSheets, shortURL) # имя нужной формы ws_xbrl = wb_xbrl[sheetName] print(f'{sheetName} - {shortURL}') # Считываем данные из "Раздел III..." (файл-Аванкор) # Раздел III. Сведения о приросте (об уменьшении) стоимости имущества, принадлежащего # акционерному инвестиционному фонду (составляющего паевой инвестиционный фонд) row_start_av = 26 row_end_av = 97 col_2_av = 5 # Код строки (колонка 2) col_3_av = 6 # Значение показателя за отчетный период (колонка 3) data = {} for row in range(row_start_av, row_end_av + 1): cell_2 = df_avancor.loc[row, col_2_av] cell_3 = df_avancor.loc[row, col_3_av] if str(cell_2) != 'nan' and cell_3 != 0: data[cell_2] = analiz_data_all(cell_3) # Заполняем форму row_start_xbrl = 7 row_end_xbrl = 54 col_2_xbrl = 2 col_3_xbrl = 3 for row in range(row_start_xbrl, row_end_xbrl + 1): # номер строки в xbrl cell = ws_xbrl.cell(row, col_2_xbrl).value # сравниваем номера строк в Аванкоре и xbrl if cell in data.keys(): ws_xbrl.cell(row, col_3_xbrl).value = data[cell] # Форматируем ячейку ws_xbrl.cell( row, col_3_xbrl).alignment = Alignment(horizontal='right') # --------------------------------------------------------- # Записываем в форму идентификатор фонда dcop.copy_id_fond_to_tbl(ws_xbrl, id_fond)
def scha_02(): """ 0420502 Справка о стоимости ч_2 SR_0420502_R2""" shortURL = 'SR_0420502_R2' # код вкладки sheetName = fun.sheetNameFromUrl(urlSheets, shortURL) # имя вкладки ws = wb[sheetName] cellBegin = 'B9' # левая-верхняя ячейка с данными print(f'{sheetName} - {shortURL}') # --------------------------------------------------------- # Переносим данные в форму: # Заголовки формы в файле-Аванкор AvancoreTitle = 'Раздел II. Параметры справки о стоимости чистых активов' # Первая ячейка с данными (левая-верхняя) AvancoreCellBegin = 'A18' # Последняя ячейка (правая-нижняя) AvancoreCellEnd = 'G18' # Количество колонок для копирования в таблице Аванкор AvancoreTblCols = 3 # Копируем данные из файла Аванкор в форму XBRL copyFromAvancore(ws, AvancoreCellBegin, AvancoreCellEnd, AvancoreTblCols) # --------------------------------------------------------- # Записываем в форму идентификатор фонда dcop.copy_id_fond_to_tbl(ws, id_fond)