<jupyter_start><jupyter_text>\begin{equation}    A = \left( \begin{array}{rrr}        0.01 &      0.0012 & 0.000 \\        1.00 &     99.9000 & 0.010 \\        1.20 & 999999.1230 & 0.001 \\    \end{array} \right)\end{equation}<jupyter_code>writer = pytablewriter.LatexMatrixWriter()
writer.table_name = "B"
writer.value_matrix = [
    ["a_{11}", "a_{12}", "\\ldots", "a_{1n}"],
    ["a_{21}", "a_{22}", "\\ldots", "a_{2n}"],
    [r"\vdots", "\\vdots", "\\ddots", "\\vdots"],
    ["a_{n1}", "a_{n2}", "\\ldots", "a_{nn}"],
]
writer.write_table()<jupyter_output>\begin{equation}
    B = \left( \begin{array}{llll}
        a_{11} & a_{12} & \ldots & a_{1n} \\
        a_{21} & a_{22} & \ldots & a_{2n} \\
        \vdots & \vdots & \ddots & \vdots \\
        a_{n1} & a_{n2} & \ldots & a_{nn} \\
    \end{array} \right)
\end{equation}<jupyter_text>\begin{equation}    B = \left( \begin{array}{llll}        a_{11} & a_{12} & \ldots & a_{1n} \\        a_{21} & a_{22} & \ldots & a_{2n} \\        \vdots & \vdots & \ddots & \vdots \\        a_{n1} & a_{n2} & \ldots & a_{nn} \\    \end{array} \right)\end{equation}<jupyter_code>writer = pytablewriter.LatexTableWriter()
writer.headers = headers
writer.value_matrix = data

writer.write_table()<jupyter_output>\begin{array}{r | r | l | l | l | l} \hline
    \verb|int| & \verb|float| & \verb|str | & \verb|bool | & \verb| mix  | & \verb|          time          | \\ \hline
    \hline
      0 &  0.10 & hoge & True  &      0 & \verb|2017-01-01 03:04:05+0900| \\ \hline
      2 & -2.23 & foo  & False &        & \verb|2017-12-23 12:34:51+0900| \\ \hline
      3 &  0.00 & bar  & True  & \infty & \verb|2017-03-03 22:44:55+0900| \\ \hline
    -10 & -9.90 &      & False & NaN    & \verb|2017-01-01 00:00:00+0900| \\ \hline
\end{array}<jupyter_text>\begin{array}{r | r | l | l | l | l} \hline    \verb|int| & \verb|float| & \verb|str| & \verb|bool| & \verb|mix| & \verb|time| \\ \hline    \hline    0 & 0.10 & hoge & True & 0 & \verb|2017-01-01 03:04:05+0900| \\ \hline    2 & -2.23 & foo & False &  & \verb|2017-12-23 12:34:51+0900| \\ \hline    3 & 0.00 & bar & True & \infty & \verb|2017-03-03 22:44:55+0900| \\ \hline    -10 & -9.90 &  & False & NaN & \verb|2017-01-01 00:00:00+0900| \\ \hline\end{array}<jupyter_code>from pytablewriter import MarkdownTableWriter

writer = MarkdownTableWriter()
writer.table_name = table_name
writer.headers = headers
writer.value_matrix = data

writer.write_table()
from pytablewriter import MarkdownTableWriter

writer = MarkdownTableWriter()
writer.table_name = "write example with a margin"
writer.headers = headers
writer.value_matrix = data
writer.margin = 1  # add a whitespace for both sides of each cell

writer.write_table()
writer = pytablewriter.MediaWikiTableWriter()
writer.table_name = table_name
writer.headers = headers
writer.value_matrix = data

writer.write_table()
writer = pytablewriter.NumpyTableWriter()
writer.table_name = table_name
writer.headers = headers
writer.value_matrix = data

writer.write_table()
writer = pytablewriter.PandasDataFrameWriter()
writer.table_name = table_name
writer.headers = headers
writer.value_matrix = data

writer.write_table()
writer = pytablewriter.PandasDataFrameWriter()
writer.table_name = table_name
writer.headers = headers
writer.value_matrix = data
writer.is_datetime_instance_formatting = False

writer.write_table()
writer = pytablewriter.PythonCodeTableWriter()
writer.table_name = table_name
writer.headers = headers
writer.value_matrix = data

writer.write_table()
writer = pytablewriter.PythonCodeTableWriter()
writer.table_name = table_name
writer.headers = headers
writer.value_matrix = data
writer.is_datetime_instance_formatting = False

writer.write_table()
writer = pytablewriter.RstGridTableWriter()
writer.table_name = table_name
writer.headers = headers
writer.value_matrix = data

writer.write_table()
writer = pytablewriter.RstSimpleTableWriter()
writer.table_name = table_name
writer.headers = headers
writer.value_matrix = data

writer.write_table()
writer = pytablewriter.RstCsvTableWriter()
writer.table_name = table_name
writer.headers = headers
writer.value_matrix = data

writer.write_table()
writer = pytablewriter.LtsvTableWriter()
writer.headers = headers
writer.value_matrix = data

writer.write_table()
writer = pytablewriter.TomlTableWriter()
writer.table_name = table_name
writer.headers = headers
writer.value_matrix = data


writer.write_table()
from datetime import datetime
import pytablewriter as ptw

writer = ptw.JavaScriptTableWriter()
writer.headers = ["header_a", "header_b", "header_c"]
writer.value_matrix = [
    [-1.1, "2017-01-02 03:04:05", datetime(2017, 1, 2, 3, 4, 5)],
    [0.12, "2017-02-03 04:05:06", datetime(2017, 2, 3, 4, 5, 6)],
]

print("// without type hints:  column data types detected automatically by default")
writer.table_name = "without type hint"
writer.write_table()

print("// with type hints: Integer, DateTime, String")
writer.table_name = "with type hint"
writer.type_hints = [ptw.Integer, ptw.DateTime, ptw.String]
writer.write_table()
from datetime import datetime
import pytablewriter as ptw

writer = ptw.PythonCodeTableWriter()
writer.value_matrix = [
    [-1.1, float("inf"), "2017-01-02 03:04:05", datetime(2017, 1, 2, 3, 4, 5)],
    [0.12, float("nan"), "2017-02-03 04:05:06", datetime(2017, 2, 3, 4, 5, 6)],
]

# column data types detected automatically by default
writer.table_name = "python variable without type hints"
writer.headers = ["float", "infnan", "string", "datetime"]
writer.write_table()

# set type hints
writer.table_name = "python variable with type hints"
writer.headers = ["hint_int", "hint_str", "hint_datetime", "hint_str"]
writer.type_hints = [ptw.Integer, ptw.String, ptw.DateTime, ptw.String]
writer.write_table()
writer = pytablewriter.MarkdownTableWriter()
writer.from_csv(dedent("""\
    "i","f","c","if","ifc","bool","inf","nan","mix_num","time"
    1,1.10,"aa",1.0,"1",True,Infinity,NaN,1,"2017-01-01 00:00:00+09:00"
    2,2.20,"bbb",2.2,"2.2",False,Infinity,NaN,Infinity,"2017-01-02 03:04:05+09:00"
    3,3.33,"cccc",-3.0,"ccc",True,Infinity,NaN,NaN,"2017-01-01 00:00:00+09:00"
    """))
writer.write_table()
writer = pytablewriter.MarkdownTableWriter()
writer.table_name = "ps"
writer.from_csv(
    dedent("""\
        USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
        root         1  0.0  0.4  77664  8784 ?        Ss   May11   0:02 /sbin/init
        root         2  0.0  0.0      0     0 ?        S    May11   0:00 [kthreadd]
        root         4  0.0  0.0      0     0 ?        I<   May11   0:00 [kworker/0:0H]
        root         6  0.0  0.0      0     0 ?        I<   May11   0:00 [mm_percpu_wq]
        root         7  0.0  0.0      0     0 ?        S    May11   0:01 [ksoftirqd/0]
    """),
    delimiter=" ")
writer.write_table()
from pytablewriter import MarkdownTableWriter
from pytablewriter.style import Align, Style

writer = MarkdownTableWriter()
writer.table_name = "specify alignment for each column manually"
writer.headers = ["left", "right", "center", "auto (int)", "auto (str)", "None (same as AUTO)"]
writer.value_matrix = [
    [0, "r", "center align", 0, "a", "n"],
    [11, "right align", "c", 11, "auto", "none"],
]

# set alignments for each column
writer.styles = [
    Style(align=Align.LEFT),
    Style(align=Align.RIGHT),
    Style(align=Align.CENTER),
    Style(align=Align.AUTO),
    Style(align=Align.AUTO),
    None,
]

writer.write_table()
from pytablewriter import MarkdownTableWriter
from pytablewriter.style import Style

writer = MarkdownTableWriter()
writer.table_name = "set style by styles"
writer.headers = [
    "auto align",
    "left align",
    "center align",
    "bold",
    "italic",
    "bold italic ts",
]
writer.value_matrix = [
    [11, 11, 11, 11, 11, 11],
    [1234, 1234, 1234, 1234, 1234, 1234],
]

# specify styles for each column
writer.styles = [
    Style(),
    Style(align="left"),
    Style(align="center"),
    Style(font_weight="bold"),
    Style(font_style="italic"),
    Style(font_weight="bold", font_style="italic", thousand_separator=","),
]

writer.write_table()

from pytablewriter import MarkdownTableWriter
from pytablewriter.style import Style

writer = MarkdownTableWriter()
writer.headers = ["A", "B", "C",]
writer.value_matrix = [[11, 11, 11], [1234, 1234, 1234]]

writer.table_name = "set style by index"
writer.set_style(1, Style(align="center", font_weight="bold"))
writer.set_style(2, Style(thousand_separator=" "))
writer.write_table()
writer.write_null_line()

writer.table_name = "set style by header"
writer.set_style("B", Style(font_style="italic"))
writer.write_table()

import pytablewriter

writer = pytablewriter.MarkdownTableWriter()
writer.headers = ["int", "float", "str", "bool", "mix", "time"]
writer.value_matrix = [
    [0,   0.1,      "hoge", True,   0,      "2017-01-01 03:04:05+0900"],
    [2,   "-2.23",  "foo",  False,  None,   "2017-12-23 45:01:23+0900"],
    [3,   0,        "bar",  "true",  "inf", "2017-03-03 33:44:55+0900"],
    [-10, -9.9,     "",     "FALSE", "nan", "2017-01-01 00:00:00+0900"],
]

print(writer.dumps())
from pytablewriter import MarkdownTableWriter
from pytablewriter.style import ThousandSeparator

writer = MarkdownTableWriter()
writer.headers = ["wo_format", "comma_i", "space_f"]
writer.value_matrix = [
    [1000, 1234567, 1234567.8],
    [1000, 1234567, 1234567.8],
    [1000, 1234567, 1234567.8],
]
writer.styles = [
    Style(thousand_separator=ThousandSeparator.NONE),
    Style(thousand_separator=ThousandSeparator.COMMA),
    Style(thousand_separator=ThousandSeparator.SPACE),
]
writer.write_table()
from pytablewriter import LatexTableWriter
from pytablewriter.style import Style, FontSize

writer = LatexTableWriter()
writer.table_name = "style test: font size"
writer.headers = ["none", "empty_style", "tiny", "small", "medium", "large"]
writer.value_matrix = [[111, 111, 111, 111, 111, 111], [1234, 1234, 1234, 1234, 1234, 1234]]
writer.styles = [
    None,
    Style(),
    Style(font_size=FontSize.TINY),
    Style(font_size=FontSize.SMALL),
    Style(font_size=FontSize.MEDIUM),
    Style(font_size=FontSize.LARGE),
]
writer.write_table()<jupyter_output>\begin{array}{r | r | r | r | r | r} \hline
    \verb|none| & \verb|empty_style| & \verb|  tiny   | & \verb|  small   | & \verb|    medium     | & \verb|  large   | \\ \hline
    \hline
     111 &         111 & \tiny 111 & \small 111 & \normalsize 111 & \large 111 \\ \hline
    1234 &        1234 & \tiny 1234 & \small 1234 & \normalsize 1234 & \large 1234 \\ \hline
\end{array}<jupyter_text>\begin{array}{r | r | r | r | r | r} \hline    \verb|none| & \verb|empty_style| & \verb|tiny| & \verb|small| & \verb|medium| & \verb|large| \\ \hline    \hline     111 &         111 & \tiny 111 & \small 111 & \normalsize 111 & \large 111 \\ \hline    1234 &        1234 & \tiny 1234 & \small 1234 & \normalsize 1234 & \large 1234 \\ \hline\end{array}<jupyter_code>from pytablewriter import UnicodeTableWriter

writer = UnicodeTableWriter()
writer.table_name = table_name
writer.headers = headers
writer.value_matrix = data

writer.write_table()<jupyter_output>┌───┬─────┬────┬─────┬────────┬────────────────────────┐
│int│float│str │bool │  mix   │          time          │
├───┼─────┼────┼─────┼────────┼────────────────────────┤
│  0│ 0.10│hoge│True │       0│2017-01-01 03:04:05+0900│
├───┼─────┼────┼─────┼────────┼────────────────────────┤
│  2│-2.23│foo │False│        │2017-12-23 12:34:51+0900│
├───┼─────┼────┼─────┼────────┼────────────────────────┤
│  3│ 0.00│bar │True │Infinity│2017-03-03 22:44:55+0900│
├───┼─────┼────┼─────┼────────┼────────────────────────┤
│-10│-9.90│    │False│     NaN│2017-01-01 00:00:00+0900│
└───┴─────┴────┴─────┴────────┴────────────────────────┘
{'fraction_non_alphanumeric': 0.18582717308182514, 'fraction_numerical': 0.07885121930495369, 'mean_word_length': 3.657696873763356, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 9, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '13048', 'license': 'MIT', 'n_tokens_mistral': 4970, 'n_tokens_neox': 4326, 'n_words': 921, 'path': 'examples/ipynb/pytablewriter_examples.ipynb', 'repo_name': 'sundarsrst/pytablewriter', 'size': '11769'}