pytablewriter is a python library to write a table in various formats: CSV/HTML/JavaScript/JSON/Markdown/MediaWiki/Excel/Pandas/Python/reStructuredText
Project description
pytablewriter
=============
.. image:: https://badge.fury.io/py/pytablewriter.svg
:target: https://badge.fury.io/py/pytablewriter
.. image:: https://img.shields.io/pypi/pyversions/pytablewriter.svg
:target: https://pypi.python.org/pypi/pytablewriter
.. image:: https://img.shields.io/travis/thombashi/pytablewriter/master.svg?label=Linux
:target: https://travis-ci.org/thombashi/pytablewriter
.. image:: https://img.shields.io/appveyor/ci/thombashi/pytablewriter/master.svg?label=Windows
:target: https://ci.appveyor.com/project/thombashi/pytablewriter
.. image:: https://coveralls.io/repos/github/thombashi/pytablewriter/badge.svg?branch=master
:target: https://coveralls.io/github/thombashi/pytablewriter?branch=master
Summary
-------
pytablewriter is a python library to write a table in various formats: CSV/HTML/JavaScript/JSON/Markdown/MediaWiki/Excel/Pandas/Python/reStructuredText
Features
--------
- Write a table in various formats:
- CSV
- Microsoft Excel :superscript:`TM`
- `.xlsx` format
- `.xls` format
- HTML
- JavaScript (Definition of a nested list variable)
- JSON
- Markdown
- MediaWiki
- Pandas (Definition of a DataFrame variable)
- Python code (Definition of a nested list variable)
- reStructuredText
- Grid tables
- Simple tables
- CSV table
- Automatic tabular data formatting
- Alignment
- Padding
- Decimal places of numbers
- Output table to a stream such as a file or the standard output
Examples
========
Write a Markdown table
----------------------
.. code:: python
import pytablewriter
writer = pytablewriter.MarkdownTableWriter()
writer.table_name = "example_table"
writer.header_list = ["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"],
]
writer.write_table()
.. code::
# example_table
int|float|str |bool |mix| time
--:|----:|----|-----|--:|------------------------
0| 0.1|hoge|True | 0|2017-01-01 03:04:05+0900
2| -2.2|foo |False| |2017-12-23 12:34:51+0900
3| 0.0|bar |True |inf|2017-03-03 22:44:55+0900
-10| -9.9| |False|nan|2017-01-01 00:00:00+0900
Rendering result
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. figure:: ss/markdown.png
:scale: 80%
:alt: markdown_ss
Rendered markdown at GitHub
Write a reStructuredText table (grid tables)
--------------------------------------------
.. code:: python
import pytablewriter
writer = pytablewriter.RstGridTableWriter()
writer.table_name = "example_table"
writer.header_list = ["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"],
]
writer.write_table()
.. code::
.. table:: example_table
+---+-----+----+-----+---+------------------------+
|int|float|str |bool |mix| time |
+===+=====+====+=====+===+========================+
| 0| 0.1|hoge|True | 0|2017-01-01 03:04:05+0900|
+---+-----+----+-----+---+------------------------+
| 2| -2.2|foo |False| |2017-12-23 12:34:51+0900|
+---+-----+----+-----+---+------------------------+
| 3| 0.0|bar |True |inf|2017-03-03 22:44:55+0900|
+---+-----+----+-----+---+------------------------+
|-10| -9.9| |False|nan|2017-01-01 00:00:00+0900|
+---+-----+----+-----+---+------------------------+
Rendering result
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. table:: example_table
+---+-----+----+-----+---+------------------------+
|int|float|str |bool |mix| time |
+===+=====+====+=====+===+========================+
| 0| 0.1|hoge|True | 0|2017-01-01 03:04:05+0900|
+---+-----+----+-----+---+------------------------+
| 2| -2.2|foo |False| |2017-12-23 12:34:51+0900|
+---+-----+----+-----+---+------------------------+
| 3| 0.0|bar |True |inf|2017-03-03 22:44:55+0900|
+---+-----+----+-----+---+------------------------+
|-10| -9.9| |False|nan|2017-01-01 00:00:00+0900|
+---+-----+----+-----+---+------------------------+
Write a JavaScript table (variable definition of nested list)
-------------------------------------------------------------
.. code:: python
import pytablewriter
writer = pytablewriter.JavaScriptTableWriter()
writer.table_name = "example_table"
writer.header_list = ["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"],
]
writer.write_table()
.. code:: js
var example_table = [
["int", "float", "str", "bool", "mix", "time"],
[0, 0.1, "hoge", true, 0, new Date("2017-01-01T03:04:05+0900")],
[2, -2.2, "foo", false, null, new Date("2017-12-23T12:34:51+0900")],
[3, 0.0, "bar", true, Infinity, new Date("2017-03-03T22:44:55+0900")],
[-10, -9.9, "", false, NaN, new Date("2017-01-01T00:00:00+0900")]
];
Write an Excel table
--------------------
.. code:: python
import pytablewriter
writer = pytablewriter.ExcelXlsxTableWriter()
writer.open_workbook("sample.xlsx")
writer.make_worksheet("example")
writer.header_list = ["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 12:34:51+0900"],
[3, 0, "bar", "true", "inf", "2017-03-03 22:44:55+0900"],
[-10, -9.9, "", "FALSE", "nan", "2017-01-01 00:00:00+0900"],
]
writer.write_table()
writer.close()
Output of Excel book
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. figure:: ss/excel_single.png
:scale: 100%
:alt: excel_single
Output excel file (``sample_single.xlsx``)
For more information
--------------------
More examples are available at
http://pytablewriter.readthedocs.org/en/latest/pages/examples/index.html
Installation
============
::
pip install pytablewriter
Dependencies
============
Python 2.7+ or 3.3+
- `DataPropery <https://github.com/thombashi/DataProperty>`__
- `dominate <http://github.com/Knio/dominate/>`__
- `pathvalidate <https://github.com/thombashi/pathvalidate>`__
- `six <https://pypi.python.org/pypi/six/>`__
- `XlsxWriter <http://xlsxwriter.readthedocs.io/>`__
- `xlwt <http://www.python-excel.org/>`__
Test dependencies
-----------------
- `pytablereader <https://github.com/thombashi/pytablereader>`__
- `pytest <http://pytest.org/latest/>`__
- `pytest-runner <https://pypi.python.org/pypi/pytest-runner>`__
- `tox <https://testrun.org/tox/latest/>`__
Documentation
=============
http://pytablewriter.readthedocs.org/en/latest/
Related Project
===============
- `pytablereader <https://github.com/thombashi/pytablereader>`__
- Loaded table data with ``pytablereader`` can write another table format by ``pytablewriter``.
=============
.. image:: https://badge.fury.io/py/pytablewriter.svg
:target: https://badge.fury.io/py/pytablewriter
.. image:: https://img.shields.io/pypi/pyversions/pytablewriter.svg
:target: https://pypi.python.org/pypi/pytablewriter
.. image:: https://img.shields.io/travis/thombashi/pytablewriter/master.svg?label=Linux
:target: https://travis-ci.org/thombashi/pytablewriter
.. image:: https://img.shields.io/appveyor/ci/thombashi/pytablewriter/master.svg?label=Windows
:target: https://ci.appveyor.com/project/thombashi/pytablewriter
.. image:: https://coveralls.io/repos/github/thombashi/pytablewriter/badge.svg?branch=master
:target: https://coveralls.io/github/thombashi/pytablewriter?branch=master
Summary
-------
pytablewriter is a python library to write a table in various formats: CSV/HTML/JavaScript/JSON/Markdown/MediaWiki/Excel/Pandas/Python/reStructuredText
Features
--------
- Write a table in various formats:
- CSV
- Microsoft Excel :superscript:`TM`
- `.xlsx` format
- `.xls` format
- HTML
- JavaScript (Definition of a nested list variable)
- JSON
- Markdown
- MediaWiki
- Pandas (Definition of a DataFrame variable)
- Python code (Definition of a nested list variable)
- reStructuredText
- Grid tables
- Simple tables
- CSV table
- Automatic tabular data formatting
- Alignment
- Padding
- Decimal places of numbers
- Output table to a stream such as a file or the standard output
Examples
========
Write a Markdown table
----------------------
.. code:: python
import pytablewriter
writer = pytablewriter.MarkdownTableWriter()
writer.table_name = "example_table"
writer.header_list = ["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"],
]
writer.write_table()
.. code::
# example_table
int|float|str |bool |mix| time
--:|----:|----|-----|--:|------------------------
0| 0.1|hoge|True | 0|2017-01-01 03:04:05+0900
2| -2.2|foo |False| |2017-12-23 12:34:51+0900
3| 0.0|bar |True |inf|2017-03-03 22:44:55+0900
-10| -9.9| |False|nan|2017-01-01 00:00:00+0900
Rendering result
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. figure:: ss/markdown.png
:scale: 80%
:alt: markdown_ss
Rendered markdown at GitHub
Write a reStructuredText table (grid tables)
--------------------------------------------
.. code:: python
import pytablewriter
writer = pytablewriter.RstGridTableWriter()
writer.table_name = "example_table"
writer.header_list = ["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"],
]
writer.write_table()
.. code::
.. table:: example_table
+---+-----+----+-----+---+------------------------+
|int|float|str |bool |mix| time |
+===+=====+====+=====+===+========================+
| 0| 0.1|hoge|True | 0|2017-01-01 03:04:05+0900|
+---+-----+----+-----+---+------------------------+
| 2| -2.2|foo |False| |2017-12-23 12:34:51+0900|
+---+-----+----+-----+---+------------------------+
| 3| 0.0|bar |True |inf|2017-03-03 22:44:55+0900|
+---+-----+----+-----+---+------------------------+
|-10| -9.9| |False|nan|2017-01-01 00:00:00+0900|
+---+-----+----+-----+---+------------------------+
Rendering result
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. table:: example_table
+---+-----+----+-----+---+------------------------+
|int|float|str |bool |mix| time |
+===+=====+====+=====+===+========================+
| 0| 0.1|hoge|True | 0|2017-01-01 03:04:05+0900|
+---+-----+----+-----+---+------------------------+
| 2| -2.2|foo |False| |2017-12-23 12:34:51+0900|
+---+-----+----+-----+---+------------------------+
| 3| 0.0|bar |True |inf|2017-03-03 22:44:55+0900|
+---+-----+----+-----+---+------------------------+
|-10| -9.9| |False|nan|2017-01-01 00:00:00+0900|
+---+-----+----+-----+---+------------------------+
Write a JavaScript table (variable definition of nested list)
-------------------------------------------------------------
.. code:: python
import pytablewriter
writer = pytablewriter.JavaScriptTableWriter()
writer.table_name = "example_table"
writer.header_list = ["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"],
]
writer.write_table()
.. code:: js
var example_table = [
["int", "float", "str", "bool", "mix", "time"],
[0, 0.1, "hoge", true, 0, new Date("2017-01-01T03:04:05+0900")],
[2, -2.2, "foo", false, null, new Date("2017-12-23T12:34:51+0900")],
[3, 0.0, "bar", true, Infinity, new Date("2017-03-03T22:44:55+0900")],
[-10, -9.9, "", false, NaN, new Date("2017-01-01T00:00:00+0900")]
];
Write an Excel table
--------------------
.. code:: python
import pytablewriter
writer = pytablewriter.ExcelXlsxTableWriter()
writer.open_workbook("sample.xlsx")
writer.make_worksheet("example")
writer.header_list = ["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 12:34:51+0900"],
[3, 0, "bar", "true", "inf", "2017-03-03 22:44:55+0900"],
[-10, -9.9, "", "FALSE", "nan", "2017-01-01 00:00:00+0900"],
]
writer.write_table()
writer.close()
Output of Excel book
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. figure:: ss/excel_single.png
:scale: 100%
:alt: excel_single
Output excel file (``sample_single.xlsx``)
For more information
--------------------
More examples are available at
http://pytablewriter.readthedocs.org/en/latest/pages/examples/index.html
Installation
============
::
pip install pytablewriter
Dependencies
============
Python 2.7+ or 3.3+
- `DataPropery <https://github.com/thombashi/DataProperty>`__
- `dominate <http://github.com/Knio/dominate/>`__
- `pathvalidate <https://github.com/thombashi/pathvalidate>`__
- `six <https://pypi.python.org/pypi/six/>`__
- `XlsxWriter <http://xlsxwriter.readthedocs.io/>`__
- `xlwt <http://www.python-excel.org/>`__
Test dependencies
-----------------
- `pytablereader <https://github.com/thombashi/pytablereader>`__
- `pytest <http://pytest.org/latest/>`__
- `pytest-runner <https://pypi.python.org/pypi/pytest-runner>`__
- `tox <https://testrun.org/tox/latest/>`__
Documentation
=============
http://pytablewriter.readthedocs.org/en/latest/
Related Project
===============
- `pytablereader <https://github.com/thombashi/pytablereader>`__
- Loaded table data with ``pytablereader`` can write another table format by ``pytablewriter``.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pytablewriter-0.12.6.tar.gz
(50.5 kB
view details)
Built Distribution
File details
Details for the file pytablewriter-0.12.6.tar.gz
.
File metadata
- Download URL: pytablewriter-0.12.6.tar.gz
- Upload date:
- Size: 50.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93b44690f67041f1e05cc3a2d7abb10ebff2cca2203d296a524fc71f078fc5b3 |
|
MD5 | 1e1b506442b118c8c81c1d91b9f5d6f7 |
|
BLAKE2b-256 | eef77b30e3bdf4af50a853bce2ebec001f9a18dce053e8aed86b39541af9ed5b |
File details
Details for the file pytablewriter-0.12.6-py2.py3-none-any.whl
.
File metadata
- Download URL: pytablewriter-0.12.6-py2.py3-none-any.whl
- Upload date:
- Size: 30.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38b94436a5db8ec7fc3b55e1f8308eddd906733452cecd3885ee43ff115cc1d3 |
|
MD5 | e813464282071af7e5a2b82f929c2997 |
|
BLAKE2b-256 | 8eedbb53e0e31c74ed99469c1a3ca7b28c8dfe8ed085e9459f5939594d151a46 |