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
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 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 value formatting
Alignment
Padding
Decimal places of numbers
Output to a stream such as a file or the standard output
Examples
Write a Markdown table
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()
# 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
Write a reStructuredText table (grid tables)
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()
.. 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
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)
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()
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
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
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+
Test dependencies
Documentation
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
Built Distribution
Hashes for pytablewriter-0.8.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b0600f785d443b034ce8b7d41d4f879dbecbfd850ced7bbe50e8e9e624c3717 |
|
MD5 | 7bcc01af50c628aca65a15e02b99d044 |
|
BLAKE2b-256 | 679174bf559edd7d4e000a960b15652bd9d3ab1e33d6c61f1e0356116134e77f |