mlreportgen.utils.TableSlicer class

Пакет: mlreportgen.utils
Суперклассы:

Разделите таблицу на срезы

Описание

Делит таблицу вертикально на набор более узких таблиц (срезы). Чтобы разделить таблицу, которая слишком широка, чтобы соответствовать четко на странице в набор четких срезов, используйте этот TableSlicer объект.

Конструкция

slicer = mlreportgen.utils.TableSlicer() создает пустой табличный объект ножа. Используйте его свойства задать входную таблицу, чтобы резать, максимальное количество столбцов на срез и количество столбцов, чтобы повториться.

Примечание

Нарезать таблицу, сгенерированную mlreportgen.report.BaseTable генератор отчетов, набор MaxCols свойство BaseTable генератор отчетов к размеру срезов вы хотите сгенерировать. Вы не должны использовать этот TableSlicer утилита, чтобы установить ширину среза.

slicer = mlreportgen.utils.TableSlicer(Name,Value) создает табличный объект ножа с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы. Name имя свойства и Value соответствующее значение. Name должен казаться внутри одним ('') или дважды ("") кавычки. Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN.

Свойства

развернуть все

Объект входной таблицы, который будет нарезан в виде Объекта таблицы DOM или Формального Объекта таблицы. И для Таблицы DOM и для Формальных Табличных входных параметров, таблица должна иметь одинаковое число столбцов в каждой строке. Его RowSpan и ColSpan значениями должен быть пустой [] или 1. Если Формальный Объект таблицы имеет заголовки или нижние колонтитулы, количество заголовка или столбцов нижнего колонтитула должно совпадать с количеством столбцов в табличном теле.

Максимальное количество столбцов, чтобы отобразиться на табличный срез в виде Inf или как положительное целое число. Если значением этого свойства является Inf, все исходные столбцы таблицы включены в одну таблицу. MaxCols значение, больше, чем или равный количеству столбцов таблицы также, производит одну таблицу со всеми столбцами. Большие табличные наборы данных могут заставить неразборчивые таблицы быть сгенерированными. Установите это свойство на количество столбцов из исходной таблицы, которые соответствуют четко на странице. Чтобы определить оптимальное значение, выполните итерации установки MaxCols значение и просматривание отчета.

Количество первоначальных столбцов, чтобы повториться на срез в виде 0 или положительное целое число. Ненулевой номер, n, повторяет первые n столбцы исходной таблицы в каждом срезе. MaxCols значение свойства включает RepeatCols значение свойства. Например, если MaxCols 6 и RepeatCols 2, каждый табличный срез имеет в общей сложности шесть столбцов с первыми двумя столбцами, повторенными из исходной таблицы.

Методы

slices = slice(slicer) возвращает массив mlreportgen.utils.TableSlice объекты, каждый содержащий табличный срез и индексы столбца начала и конца среза. Индексы столбца начала и конца относятся к индексам столбца исходной входной таблицы.

Примеры

свернуть все

Создайте объект FormalTable, который содержит данные сотрудника. Нарежьте таблицу так, чтобы первые повторения столбца таблицы в каждом срезе и максимальном количестве столбцов в каждом срезе равнялись трем.

employee_data = {...
   'Joe Smith','3/12/06','Engineer','A302';...
   'Mary Jones','4/17/03','Writer','C312';...
   'John Johnson','9/5/12','Sr. Programmer','A421';...
   'Susan White','6/29/16','Sr. Engineer','B201';...
   'Thomas Lee','10/1/17','QE Engineer','C200'};
tbl_header = {'Name','Hire Date','Position','Office'};


import mlreportgen.report.*
import mlreportgen.dom.*
import mlreportgen.utils.*
     
rpt = mlreportgen.report.Report("Sliced Table",'pdf');
open(rpt);

chapter = Chapter("Title",'Employee Report');
table = FormalTable(tbl_header,employee_data);
table.Border = 'Solid';
table.RowSep = 'Solid';
table.ColSep = 'Solid';

para = Paragraph(['The table is sliced into two tables, '...
   'with the first column repeating in each table.']);
para.Style = {OuterMargin('0in','0in','0in','12pt')};
para.FontSize = '14pt';
add(chapter,para)

slicer = TableSlicer("Table",table,"MaxCols",3,"RepeatCols",1);
totcols = slicer.MaxCols - slicer.RepeatCols;
slices = slicer.slice();
for slice=slices
     str = sprintf('%d repeating column and up to %d more columns',...
          slicer.RepeatCols,totcols);
     para = Paragraph(str);
     para.Bold = true;
     add(chapter,para)
     add(chapter,slice.Table)
end

add(rpt,chapter)
close(rpt)
rptview(rpt)

Введенный в R2018b