Metadata-Version: 2.0
Name: pyexcel-text
Version: 0.2.6
Summary: A plugin to pyexcel and provides the capability to present and write data in text formats
Home-page: UNKNOWN
Author: C.W.
Author-email: wangc_2011@hotmail.com
License: New BSD
Keywords: excel,python,pyexcel,plain,simple,grid,pipe,orgtbl,rst,mediawiki,latex,latex_booktabs,html,json
Platform: UNKNOWN
Classifier: Topic :: Office/Business
Classifier: Topic :: Utilities
Classifier: Topic :: Software Development :: Libraries
Classifier: Programming Language :: Python
Classifier: License :: OSI Approved :: BSD License
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Dist: pyexcel (>=0.5.0)
Requires-Dist: tabulate (>=0.7.4)

================================================================================
pyexcel-text - Let you focus on data, instead of text formats
================================================================================

.. image:: https://api.travis-ci.org/pyexcel/pyexcel-text.png
    :target: http://travis-ci.org/pyexcel/pyexcel-text

.. image:: https://codecov.io/github/pyexcel/pyexcel-text/coverage.png
    :target: https://codecov.io/github/pyexcel/pyexcel-text


It is a plugin to `pyexcel <https://github.com/pyexcel/pyexcel>`__ and extends
its capbility to present and write data in text fromats mainly through `tabulate`:

* "plain"
* "simple"
* "grid"
* "pipe"
* "orgtbl"
* "rst"
* "mediawiki"
* "latex"
* "latex_booktabs"
* "json"
* "html"

Usage
======

Simple
------------

.. code-block:: python

    >>> import pyexcel as pe
    >>> content = [
    ...     ["Column 1", "Column 2", "Column 3"],
    ...     [1, 2, 3],
    ...     [4, 5, 6],
    ...     [7, 8, 9]
    ... ]
    >>> sheet = pe.Sheet(content)
    >>> print(sheet.simple)
    pyexcel sheet:
    --------  --------  --------
    Column 1  Column 2  Column 3
    1         2         3
    4         5         6
    7         8         9
    --------  --------  --------
    >>> sheet.name_columns_by_row(0)
    >>> print(sheet.simple)
    pyexcel sheet:
      Column 1    Column 2    Column 3
    ----------  ----------  ----------
             1           2           3
             4           5           6
             7           8           9


Grid
-------

.. code-block:: python

    >>> print(sheet.grid)
    pyexcel sheet:
    +------------+------------+------------+
    |   Column 1 |   Column 2 |   Column 3 |
    +============+============+============+
    |          1 |          2 |          3 |
    +------------+------------+------------+
    |          4 |          5 |          6 |
    +------------+------------+------------+
    |          7 |          8 |          9 |
    +------------+------------+------------+


Mediawiki
-------------

.. code-block:: python

    >>> multiple_sheets = {
    ...      'Sheet 1':
    ...          [
    ...              [1.0, 2.0, 3.0],
    ...              [4.0, 5.0, 6.0],
    ...              [7.0, 8.0, 9.0]
    ...          ],
    ...      'Sheet 2':
    ...          [
    ...              ['X', 'Y', 'Z'],
    ...              [1.0, 2.0, 3.0],
    ...              [4.0, 5.0, 6.0]
    ...          ],
    ...      'Sheet 3':
    ...          [
    ...              ['O', 'P', 'Q'],
    ...              [3.0, 2.0, 1.0],
    ...              [4.0, 3.0, 2.0]
    ...          ]
    ...  }
    >>> book = pe.Book(multiple_sheets)
    >>> book.save_as("myfile.mediawiki")
    >>> myfile = open("myfile.mediawiki")
    >>> print(myfile.read())
    Sheet 1:
    {| class="wikitable" style="text-align: left;"
    |+ <!-- caption -->
    |-
    | align="right"| 1 || align="right"| 2 || align="right"| 3
    |-
    | align="right"| 4 || align="right"| 5 || align="right"| 6
    |-
    | align="right"| 7 || align="right"| 8 || align="right"| 9
    |}
    Sheet 2:
    {| class="wikitable" style="text-align: left;"
    |+ <!-- caption -->
    |-
    | X   || Y   || Z
    |-
    | 1.0 || 2.0 || 3.0
    |-
    | 4.0 || 5.0 || 6.0
    |}
    Sheet 3:
    {| class="wikitable" style="text-align: left;"
    |+ <!-- caption -->
    |-
    | O   || P   || Q
    |-
    | 3.0 || 2.0 || 1.0
    |-
    | 4.0 || 3.0 || 2.0
    |}
    >>> myfile.close()

Html
----------

.. code-block:: python

    >>> book.save_as("myfile.html")
    >>> myfile = open("myfile.html")
    >>> print(myfile.read()) # doctest: +SKIP
    Sheet 1:
    <table>
    <tr><td style="text-align: right;">1</td><td style="text-align: right;">2</td><td style="text-align: right;">3</td></tr>
    <tr><td style="text-align: right;">4</td><td style="text-align: right;">5</td><td style="text-align: right;">6</td></tr>
    <tr><td style="text-align: right;">7</td><td style="text-align: right;">8</td><td style="text-align: right;">9</td></tr>
    </table>
    Sheet 2:
    <table>
    <tr><td>X  </td><td>Y  </td><td>Z  </td></tr>
    <tr><td>1.0</td><td>2.0</td><td>3.0</td></tr>
    <tr><td>4.0</td><td>5.0</td><td>6.0</td></tr>
    </table>
    Sheet 3:
    <table>
    <tr><td>O  </td><td>P  </td><td>Q  </td></tr>
    <tr><td>3.0</td><td>2.0</td><td>1.0</td></tr>
    <tr><td>4.0</td><td>3.0</td><td>2.0</td></tr>
    </table>

Please note tabulate 0.7.7 gives an extra tbody tag around tr tag.

Dependencies
============

* tabulate

Change log
================================================================================

0.2.6 - 19.06.2017
--------------------------------------------------------------------------------

Updated:
********************************************************************************

#. Support pyexcel v0.5.0. Plugin interface updated to Renderer
#. removed deprecated save_as and save_to_memory functions


0.2.5 - 28.10.2016
--------------------------------------------------------------------------------

Updated:
********************************************************************************

#. Support pyexcel v0.4.0

0.2.4 - 28.10.2016
--------------------------------------------------------------------------------

Added:
********************************************************************************

#. support pyexcel v0.3.0


0.2.3 - 14.07.2016
--------------------------------------------------------------------------------

Added:
********************************************************************************

#. json format: serialize date and datetime

Updated:
********************************************************************************

#. if a sheet has row_names, its json output become records(a list of dictionary)
   instead of a dictionary of row name vs the rest of row values.

0.2.2 - 01.06.2016
--------------------------------------------------------------------------------

#. quick bug fix, see `issue #27 <https://github.com/pyexcel/pyexcel-text/issues/27>`_


0.2.1 - 01.06.2016
--------------------------------------------------------------------------------

#. compactibility with pyexcel-io 0.2.0 and pyexcel 0.2.2


0.2.0 - 23.04.2016
--------------------------------------------------------------------------------

It is a complete re-write of the whole extension.

Added
********************************************************************************

#. html support
#. support pyexcel 0.2.0's generator output
#. pypy and pypy3 in test targets
#. support file stream and dot notation, e.g. pyexcel.Sheet.rst will return rst text representation of it.

Updated
********************************************************************************

#. `#8 <https://github.com/pyexcel/pyexcel-text/issues/8>`_, write_header as an option(False) to disable header writing
#. the json output of multiple sheet book will be sorted by its sheet names.
#. No longer, pyexcel-text is pyexcel-io plugin but pyexcel.sources plugin.

0.1.1 - 30.01.2016
--------------------------------------------------------------------------------

Updated
********************************************************************************

#. `#2 <https://github.com/pyexcel/pyexcel-text/issues/2>`_, fix a typo in setup.py


0.1.0 - 17.01.2016
--------------------------------------------------------------------------------

Updated
********************************************************************************

#. support pyexcel 0.2.0


0.0.3 - 12.06.2015
--------------------------------------------------------------------------------

Updated
********************************************************************************

#. `#1 <https://github.com/pyexcel/pyexcel-text/issues/1>`_, align api interface
    with other pyexcel plugins, e.g. save_as, save_book_as

0.0.2 - 30.11.2014
--------------------------------------------------------------------------------

Updated
********************************************************************************

#. support pyexcel 0.0.9


0.0.` - 20.11.2014
--------------------------------------------------------------------------------

Initial release






