5.1.1.3. LaTeX writer classes

5.1.1.3.1. LaTeX matrix writer

class pytablewriter.LatexMatrixWriter(**kwargs)[source]

Bases: pytablewriter.writer.text._latex.LatexWriter

A matrix writer class for LaTeX environment.

Example

LaTeX matrix

write_table()

Write a table to the stream with LaTeX array environment.

Example

LaTeX matrix

add_style_filter(style_filter: pytablewriter.style._theme.StyleFilterFunc) → None

Add a style filter function.

Parameters

style_filter

A function for filtering table cells, the function required to implement the following Protocol:

class StyleFilterFunc(Protocol):
    def __call__(self, cell: Cell, **kwargs: Any) -> Optional[Style]:
        ...

clear_theme() → None

Remove all of the style filters.

close() → None

Close the current stream.

property column_styles

Output Style for each column.

Returns

Return type

list of Style

dec_indent_level() → None

Decrement the indentation level.

property default_style

Default Style of table cells.

dump(output: Union[str, IO], close_after_write: bool = True, **kwargs) → None

Write data to the output with tabular format.

During the executing this method, enable_ansi_escape attribute will be temporarily set to False.

Parameters
  • output – The value must either an output stream or a path to an output file.

  • close_after_write – Close the output after write. Defaults to True.

dumps(**kwargs) → str

Get rendered tabular text from the table data.

Only available for text format table writers.

Parameters

**kwargs – Optional arguments that the writer takes.

Returns

Rendered tabular text.

Return type

str

property format_name

Format name for the writer.

Returns

str

from_csv(csv_source: str, delimiter: str = ',') → None

Set tabular attributes to the writer from a character-separated values (CSV) data source. Following attributes are set to the writer by the method:

table_name also be set if the CSV data source is a file. In that case, table_name is as same as the filename.

Parameters

csv_source (str) – Input CSV data source either can be designated CSV text or CSV file path.

Examples

Using CSV as tabular data source

Dependency Packages
from_dataframe(dataframe, add_index_column: bool = False) → None

Set tabular attributes to the writer from pandas.DataFrame. Following attributes are set by the method:

Parameters
  • dataframe (pandas.DataFrame or str) – Input pandas.DataFrame object or pickle.

  • add_index_column (bool, optional) – If True, add a column of index of the dataframe. Defaults to False.

Example

Using pandas DataFrame as tabular data source

from_series(series, add_index_column: bool = True) → None

Set tabular attributes to the writer from pandas.Series. Following attributes are set by the method:

Parameters
  • series (pandas.Series) – Input pandas.Series object.

  • add_index_column (bool, optional) – If True, add a column of index of the series. Defaults to True.

from_tabledata(value: tabledata._core.TableData, is_overwrite_table_name: bool = True) → None

Set tabular attributes to the writer from TableData. Following attributes are configured:

TableData can be created from various data formats by pytablereader. More detailed information can be found in https://pytablereader.rtfd.io/en/latest/

Parameters

value (tabledata.TableData) – Input table data.

from_tablib(tablib_dataset) → None

Set tabular attributes to the writer from tablib.Dataset.

from_writer(writer: pytablewriter.writer._table_writer.AbstractTableWriter, is_overwrite_table_name: bool = True) → None

Set tabular attributes to the writer from an another table writer class incetance.

property headers

Headers of a table to be outputted.

inc_indent_level() → None

Increment the indentation level.

set_indent_level(indent_level: int) → None

Set the indentation level.

Parameters

indent_level (int) – New indentation level.

set_style(column: Union[str, int], style: pytablewriter.style._style.Style) → None

Set Style for a specific column.

Parameters
  • column (int or str) – Column specifier. column index or header name correlated with the column.

  • style (Style) – Style value to be set to the column.

Raises

ValueError – If the column specifier is invalid.

set_theme(theme: str, **kwargs) → None

Set style filters for a theme.

Parameters

theme (str) – Name of the theme. pytablewriter theme plugin must be installed corresponding to the theme name.

Raises

RuntimeError – Raised when a theme plugin does not installed.

property support_split_write

Represents the writer class supported iterative table writing (write_table_iter method).

Returns

True if the writer supported iterative table writing.

Return type

bool

property table_format

Get the format of the writer.

Returns

Return type

TableFormat

property table_name

Name of a table.

property tabledata

Get tabular data of the writer.

Returns

Return type

tabledata.TableData

property type_hints

Type hints for each column of the tabular data. Writers convert data for each column using the type hints information before writing tables when you call write_xxx methods.

Acceptable values are as follows:

  • None (automatically detect column type from values in the column)

  • pytablewriter.typehint.Bool

  • pytablewriter.typehint.DateTime

  • pytablewriter.typehint.Dictionary

  • pytablewriter.typehint.Infinity

  • pytablewriter.typehint.Integer

  • pytablewriter.typehint.IpAddress

  • pytablewriter.typehint.List

  • pytablewriter.typehint.Nan

  • pytablewriter.typehint.NoneType

  • pytablewriter.typehint.NullString

  • pytablewriter.typehint.RealNumber

  • pytablewriter.typehint.String

If a type-hint value is not None, the writer tries to convert data for each data in a column to type-hint class. If the type-hint value is None or failed to convert data, the writer automatically detect column data type from the column data.

If type_hints is None, the writer detects data types for all of the columns automatically and writes a table by using detected column types.

Defaults to None.

Examples
property value_matrix

Data of a table to be outputted.

write_null_line() → None

Write a null line to the stream.

write_table(**kwargs) → None

Write a table to the stream.

Parameters

indent (Optional[int]) – Indent level of an output. Interpretation of indent level value differ format to format. Some writer classes may ignore this value.

Note

  • None values are written as an empty string.

write_table_iter(**kwargs) → None

Write a table with iteration. “Iteration” means that divide the table writing into multiple processes. This method is useful, especially for large data. The following are premises to execute this method:

  • set iterator to the value_matrix

  • set the number of iterations to the iteration_length attribute

Call back function (Optional): Callback function is called when for each of the iteration of writing a table is completed. To set call back function, set a callback function to the write_callback attribute.

Raises

pytablewriter.NotSupportedError – If the class does not support this method.

Note

Following classes do not support this method: HtmlTableWriter, RstGridTableWriter, RstSimpleTableWriter. support_split_write attribute return True if the class is supporting this method.

5.1.1.3.2. LaTeX table writer

class pytablewriter.LatexTableWriter(**kwargs)[source]

Bases: pytablewriter.writer.text._latex.LatexWriter

A matrix writer class for LaTeX environment.

Example

LaTeX table

write_table()

Write a table to the stream with LaTeX array environment.

Example

LaTeX table

add_style_filter(style_filter: pytablewriter.style._theme.StyleFilterFunc) → None

Add a style filter function.

Parameters

style_filter

A function for filtering table cells, the function required to implement the following Protocol:

class StyleFilterFunc(Protocol):
    def __call__(self, cell: Cell, **kwargs: Any) -> Optional[Style]:
        ...

clear_theme() → None

Remove all of the style filters.

close() → None

Close the current stream.

property column_styles

Output Style for each column.

Returns

Return type

list of Style

dec_indent_level() → None

Decrement the indentation level.

property default_style

Default Style of table cells.

dump(output: Union[str, IO], close_after_write: bool = True, **kwargs) → None

Write data to the output with tabular format.

During the executing this method, enable_ansi_escape attribute will be temporarily set to False.

Parameters
  • output – The value must either an output stream or a path to an output file.

  • close_after_write – Close the output after write. Defaults to True.

dumps(**kwargs) → str

Get rendered tabular text from the table data.

Only available for text format table writers.

Parameters

**kwargs – Optional arguments that the writer takes.

Returns

Rendered tabular text.

Return type

str

property format_name

Format name for the writer.

Returns

str

from_csv(csv_source: str, delimiter: str = ',') → None

Set tabular attributes to the writer from a character-separated values (CSV) data source. Following attributes are set to the writer by the method:

table_name also be set if the CSV data source is a file. In that case, table_name is as same as the filename.

Parameters

csv_source (str) – Input CSV data source either can be designated CSV text or CSV file path.

Examples

Using CSV as tabular data source

Dependency Packages
from_dataframe(dataframe, add_index_column: bool = False) → None

Set tabular attributes to the writer from pandas.DataFrame. Following attributes are set by the method:

Parameters
  • dataframe (pandas.DataFrame or str) – Input pandas.DataFrame object or pickle.

  • add_index_column (bool, optional) – If True, add a column of index of the dataframe. Defaults to False.

Example

Using pandas DataFrame as tabular data source

from_series(series, add_index_column: bool = True) → None

Set tabular attributes to the writer from pandas.Series. Following attributes are set by the method:

Parameters
  • series (pandas.Series) – Input pandas.Series object.

  • add_index_column (bool, optional) – If True, add a column of index of the series. Defaults to True.

from_tabledata(value: tabledata._core.TableData, is_overwrite_table_name: bool = True) → None

Set tabular attributes to the writer from TableData. Following attributes are configured:

TableData can be created from various data formats by pytablereader. More detailed information can be found in https://pytablereader.rtfd.io/en/latest/

Parameters

value (tabledata.TableData) – Input table data.

from_tablib(tablib_dataset) → None

Set tabular attributes to the writer from tablib.Dataset.

from_writer(writer: pytablewriter.writer._table_writer.AbstractTableWriter, is_overwrite_table_name: bool = True) → None

Set tabular attributes to the writer from an another table writer class incetance.

property headers

Headers of a table to be outputted.

inc_indent_level() → None

Increment the indentation level.

set_indent_level(indent_level: int) → None

Set the indentation level.

Parameters

indent_level (int) – New indentation level.

set_style(column: Union[str, int], style: pytablewriter.style._style.Style) → None

Set Style for a specific column.

Parameters
  • column (int or str) – Column specifier. column index or header name correlated with the column.

  • style (Style) – Style value to be set to the column.

Raises

ValueError – If the column specifier is invalid.

set_theme(theme: str, **kwargs) → None

Set style filters for a theme.

Parameters

theme (str) – Name of the theme. pytablewriter theme plugin must be installed corresponding to the theme name.

Raises

RuntimeError – Raised when a theme plugin does not installed.

property support_split_write

Represents the writer class supported iterative table writing (write_table_iter method).

Returns

True if the writer supported iterative table writing.

Return type

bool

property table_format

Get the format of the writer.

Returns

Return type

TableFormat

property table_name

Name of a table.

property tabledata

Get tabular data of the writer.

Returns

Return type

tabledata.TableData

property type_hints

Type hints for each column of the tabular data. Writers convert data for each column using the type hints information before writing tables when you call write_xxx methods.

Acceptable values are as follows:

  • None (automatically detect column type from values in the column)

  • pytablewriter.typehint.Bool

  • pytablewriter.typehint.DateTime

  • pytablewriter.typehint.Dictionary

  • pytablewriter.typehint.Infinity

  • pytablewriter.typehint.Integer

  • pytablewriter.typehint.IpAddress

  • pytablewriter.typehint.List

  • pytablewriter.typehint.Nan

  • pytablewriter.typehint.NoneType

  • pytablewriter.typehint.NullString

  • pytablewriter.typehint.RealNumber

  • pytablewriter.typehint.String

If a type-hint value is not None, the writer tries to convert data for each data in a column to type-hint class. If the type-hint value is None or failed to convert data, the writer automatically detect column data type from the column data.

If type_hints is None, the writer detects data types for all of the columns automatically and writes a table by using detected column types.

Defaults to None.

Examples
property value_matrix

Data of a table to be outputted.

write_null_line() → None

Write a null line to the stream.

write_table(**kwargs) → None

Write a table to the stream.

Parameters

indent (Optional[int]) – Indent level of an output. Interpretation of indent level value differ format to format. Some writer classes may ignore this value.

Note

  • None values are written as an empty string.

write_table_iter(**kwargs) → None

Write a table with iteration. “Iteration” means that divide the table writing into multiple processes. This method is useful, especially for large data. The following are premises to execute this method:

  • set iterator to the value_matrix

  • set the number of iterations to the iteration_length attribute

Call back function (Optional): Callback function is called when for each of the iteration of writing a table is completed. To set call back function, set a callback function to the write_callback attribute.

Raises

pytablewriter.NotSupportedError – If the class does not support this method.

Note

Following classes do not support this method: HtmlTableWriter, RstGridTableWriter, RstSimpleTableWriter. support_split_write attribute return True if the class is supporting this method.