SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 

python-pyexcel rpm build for : OpenSuSE. For other distributions click python-pyexcel.

Name : python-pyexcel
Version : 0.5.7 Vendor : obs://build_opensuse_org/home:emendonca
Release : 5.4 Date : 2018-10-31 14:21:19
Group : Development/Languages/Python Source RPM : python-pyexcel-0.5.7-5.4.src.rpm
Size : 0.49 MB
Packager : (none)
Summary : A wrapper library that provides one API to read, manipulate and writedata in different excel formats
Description :
================================================================================
pyexcel - Let you focus on data, instead of file formats
================================================================================

.. image:: https://raw.githubusercontent.com/pyexcel/pyexcel.github.io/master/images/patreon.png
:target: https://www.patreon.com/pyexcel

.. image:: https://travis-ci.org/pyexcel/pyexcel.svg?branch=master
:target: http://travis-ci.org/pyexcel/pyexcel

.. image:: https://codecov.io/gh/pyexcel/pyexcel/branch/master/graph/badge.svg
:target: https://codecov.io/gh/pyexcel/pyexcel

.. image:: https://img.shields.io/gitter/room/gitterHQ/gitter.svg
:target: https://gitter.im/pyexcel/Lobby

.. image:: https://readthedocs.org/projects/pyexcel/badge/?version=latest
:target: http://pyexcel.readthedocs.org/en/latest/

Support the project
================================================================================

If your company has embedded pyexcel and its components into a revenue generating
product, please `support me on patreon < https://www.patreon.com/bePatron?u=5537627>`_ to
maintain the project and develop it further.

If you are an individual, you are welcome to support me too on patreon and for however long
you feel like. As a patreon, you will receive
`early access to pyexcel related contents < https://www.patreon.com/pyexcel/posts>`_.

And your issues will get prioritized if you would like to become my patreon as `pyexcel pro user`.

With your financial support, I will be able to invest
a little bit more time in coding, documentation and writing interesting posts.


Known constraints
==================

Fonts, colors and charts are not supported.

Introduction
================================================================================

Feature Highlights
===================

1. One application programming interface(API) to handle multiple data sources:

* physical file
* memory file
* SQLAlchemy table
* Django Model
* Python data structures: dictionary, records and array
2. One API to read and write data in various excel file formats.
3. For large data sets, data streaming are supported. A genenerator can be returned to you. Checkout iget_records, iget_array, isave_as and isave_book_as.




Installation
================================================================================

You can install pyexcel via pip:

.. code-block:: bash

$ pip install pyexcel


or clone it and install it:

.. code-block:: bash

$ git clone https://github.com/pyexcel/pyexcel.git
$ cd pyexcel
$ python setup.py install



Usage
===============

.. image:: https://github.com/pyexcel/pyexcel-sortable/raw/master/sortable.gif

.. code-block:: python

>>> # pip install pyexcel-text==0.2.7.1
>>> import pyexcel as p
>>> ccs_insight2 = p.Sheet()
>>> ccs_insight2.name = \"Worldwide Mobile Phone Shipments (Billions), 2017-2021\"
>>> ccs_insight2.ndjson = \"\"\"
... {\"year\": [\"2017\", \"2018\", \"2019\", \"2020\", \"2021\"]}
... {\"smart phones\": [1.53, 1.64, 1.74, 1.82, 1.90]}
... {\"feature phones\": [0.46, 0.38, 0.30, 0.23, 0.17]}
... \"\"\".strip()
>>> ccs_insight2
pyexcel sheet:
+----------------+------+------+------+------+------+
| year | 2017 | 2018 | 2019 | 2020 | 2021 |
+----------------+------+------+------+------+------+
| smart phones | 1.53 | 1.64 | 1.74 | 1.82 | 1.9 |
+----------------+------+------+------+------+------+
| feature phones | 0.46 | 0.38 | 0.3 | 0.23 | 0.17 |
+----------------+------+------+------+------+------+



Suppose you have the following data in a dictionary:

========= ====
Name Age
========= ====
Adam 28
Beatrice 29
Ceri 30
Dean 26
========= ====

you can easily save it into an excel file using the following code:

.. code-block:: python

>>> import pyexcel
>>> # make sure you had pyexcel-xls installed
>>> a_list_of_dictionaries = [
... {
... \"Name\": \'Adam\',
... \"Age\": 28
... },
... {
... \"Name\": \'Beatrice\',
... \"Age\": 29
... },
... {
... \"Name\": \'Ceri\',
... \"Age\": 30
... },
... {
... \"Name\": \'Dean\',
... \"Age\": 26
... }
... ]
>>> pyexcel.save_as(records=a_list_of_dictionaries, dest_file_name=\"your_file.xls\")


And here\'s how to obtain the records:

.. code-block:: python

>>> import pyexcel as p
>>> records = p.iget_records(file_name=\"your_file.xls\")
>>> for record in records:
... print(\"%s is aged at %d\" % (record[\'Name\'], record[\'Age\']))
Adam is aged at 28
Beatrice is aged at 29
Ceri is aged at 30
Dean is aged at 26
>>> p.free_resources()


Advanced usage :fire:
----------------------

If you are dealing with big data, please consider these usages:

>>> def increase_everyones_age(generator):
... for row in generator:
... row[\'Age\'] += 1
... yield row
>>> def duplicate_each_record(generator):
... for row in generator:
... yield row
... yield row
>>> records = p.iget_records(file_name=\"your_file.xls\")
>>> io=p.isave_as(records=duplicate_each_record(increase_everyones_age(records)),
... dest_file_type=\'csv\', dest_lineterminator=\'\
\')
>>> print(io.getvalue())
Age,Name
29,Adam
29,Adam
30,Beatrice
30,Beatrice
31,Ceri
31,Ceri
27,Dean
27,Dean
< BLANKLINE>

Two advantages of above method:




Available Plugins
=================

.. _file-format-list:
.. _a-map-of-plugins-and-file-formats:

.. table:: A list of file formats supported by external plugins

======================== ======================= ================= ==================
Package name Supported file formats Dependencies Python versions
======================== ======================= ================= ==================
`pyexcel-io`_ csv, csvz [#f1]_, tsv, 2.6, 2.7, 3.3,
tsvz [#f2]_ 3.4, 3.5, 3.6
pypy
`pyexcel-xls`_ xls, xlsx(read only), `xlrd`_, same as above
xlsm(read only) `xlwt`_
`pyexcel-xlsx`_ xlsx `openpyxl`_ same as above
`pyexcel-ods3`_ ods `pyexcel-ezodf`_, 2.6, 2.7, 3.3, 3.4
lxml 3.5, 3.6
`pyexcel-ods`_ ods `odfpy`_ same as above
======================== ======================= ================= ==================

.. table:: Dedicated file reader and writers

======================== ======================= ================= ==================
Package name Supported file formats Dependencies Python versions
======================== ======================= ================= ==================
`pyexcel-xlsxw`_ xlsx(write only) `XlsxWriter`_ Python 2 and 3
`pyexcel-xlsxr`_ xlsx(read only) lxml same as above
`pyexcel-odsr`_ read only for ods, fods lxml same as above
`pyexcel-htmlr`_ html(read only) lxml,html5lib same as above
======================== ======================= ================= ==================


.. _pyexcel-io: https://github.com/pyexcel/pyexcel-io
.. _pyexcel-xls: https://github.com/pyexcel/pyexcel-xls
.. _pyexcel-xlsx: https://github.com/pyexcel/pyexcel-xlsx
.. _pyexcel-ods: https://github.com/pyexcel/pyexcel-ods
.. _pyexcel-ods3: https://github.com/pyexcel/pyexcel-ods3
.. _pyexcel-odsr: https://github.com/pyexcel/pyexcel-odsr
.. _pyexcel-xlsxw: https://github.com/pyexcel/pyexcel-xlsxw
.. _pyexcel-xlsxr: https://github.com/pyexcel/pyexcel-xlsxr
.. _pyexcel-htmlr: https://github.com/pyexcel/pyexcel-htmlr

.. _xlrd: https://github.com/python-excel/xlrd
.. _xlwt: https://github.com/python-excel/xlwt
.. _openpyxl: https://bitbucket.org/openpyxl/openpyxl
.. _XlsxWriter: https://github.com/jmcnamara/XlsxWriter
.. _pyexcel-ezodf: https://github.com/pyexcel/pyexcel-ezodf
.. _odfpy: https://github.com/eea/odfpy

.. table:: Other data renderers

======================== ======================= ================= ==================
Package name Supported file formats Dependencies Python versions
======================== ======================= ================= ==================
`pyexcel-text`_ write only:rst, `tabulate`_ 2.6, 2.7, 3.3, 3.4
mediawiki, html, 3.5, 3.6, pypy
latex, grid, pipe,
orgtbl, plain simple
read only: ndjson
r/w: json
`pyexcel-handsontable`_ handsontable in html `handsontable`_ same as above
`pyexcel-pygal`_ svg chart `pygal`_ 2.7, 3.3, 3.4, 3.5
3.6, pypy
`pyexcel-sortable`_ sortable table in html `csvtotable`_ same as above
`pyexcel-gantt`_ gantt chart in html `frappe-gantt`_ except pypy, same
as above
======================== ======================= ================= ==================

.. _pyexcel-text: https://github.com/pyexcel/pyexcel-text
.. _tabulate: https://bitbucket.org/astanin/python-tabulate
.. _pyexcel-handsontable: https://github.com/pyexcel/pyexcel-handsontable
.. _handsontable: https://cdnjs.com/libraries/handsontable
.. _pyexcel-pygal: https://github.com/pyexcel/pyexcel-chart
.. _pygal: https://github.com/Kozea/pygal
.. _pyexcel-matplotlib: https://github.com/pyexcel/pyexcel-matplotlib
.. _matplotlib: https://matplotlib.org
.. _pyexcel-sortable: https://github.com/pyexcel/pyexcel-sortable
.. _csvtotable: https://github.com/vividvilla/csvtotable
.. _pyexcel-gantt: https://github.com/pyexcel/pyexcel-gantt
.. _frappe-gantt: https://github.com/frappe/gantt

In order to manage the list of plugins installed, you need to use pip to add or remove
a plugin. When you use virtualenv, you can have different plugins per virtual
environment. In the situation where you have multiple plugins that does the same thing
in your environment, you need to tell pyexcel which plugin to use per function call.
For example, pyexcel-ods and pyexcel-odsr, and you want to get_array to use pyexcel-odsr.
You need to append get_array(..., library=\'pyexcel-odsr\').

.. rubric:: Footnotes

.. [#f1] zipped csv file
.. [#f2] zipped tsv file


Acknowledgement
===============

All great work have been done by odf, ezodf, xlrd, xlwt, tabulate and other
individual developers. This library unites only the data access code.


License
================================================================================

New BSD License

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

0.6.0 - unreleased
--------------------------------------------------------------------------------

Planned
********************************************************************************





spreadsheets.


0.5.7 - unreleased
--------------------------------------------------------------------------------


`bulk_save` to developer.

0.5.6 - 23.10.2017
--------------------------------------------------------------------------------


from setup_requires, introduced by 0.5.5.


0.5.5 - 20.10.2017
--------------------------------------------------------------------------------


in MANIFEST.in, meaning LICENSE file will appear in the released tar ball.

0.5.4 - 27.09.2017
--------------------------------------------------------------------------------


out of range error because there is only one row.


0.5.3 - 01-08-2017
--------------------------------------------------------------------------------


records in iget_records, isave_as and save_as.

intuitive initialization of pyexcel.Book.


0.5.2 - 26-07-2017
--------------------------------------------------------------------------------

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


as mime type.

0.5.1 - 12.06.2017
--------------------------------------------------------------------------------

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


for pyexcel-webio and its downstream projects.

0.5.0 - 19.06.2017
--------------------------------------------------------------------------------

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



and pyexcel-chart is installed

one of its implementation plugin(pyexcel-pygal, etc.) are is installed

read into a sheet.

is installed, it will be loaded implicitly. And this change would remove
unnecessary info log for those who do not use pyexcel-text and pyexcel-gal

convert BookStream to Book before saving.

is enfored. free_resource is added and it should be called when iget_array,
iget_records, isave_as and/or isave_book_as are used.

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


be modified.

Removed
********************************************************************************




pyexcel.deprecated.load_book_from_django_models and
pyexcel.deprecated.load_from_django_model were removed



0.4.5 - 17.03.2017
--------------------------------------------------------------------------------

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


import from v0.4.x

0.4.4 - 06.02.2017
--------------------------------------------------------------------------------

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


save_to_memory() should have returned a stream instance which has
been reset to zero if possible. The exception is sys.stdout, which cannot
be reset.


handle decimal.Decimal

Removed
********************************************************************************


pyexcel.Book introduced since 0.4.3.


0.4.3 - 26.01.2017
--------------------------------------------------------------------------------

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


`~pyexcel.Book` to get direct access the underneath stream
in responding to file type attributes, such as sheet.xls. it helps provide a custom
stream to external world, for example, Sheet.stream.csv gives a text stream
that contains csv formatted data. Book.stream.xls returns a xls format
data in a byte stream.

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


were given to the signature functions.


0.4.2 - 17.01.2017
--------------------------------------------------------------------------------

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


words, only sheet with column names could be saved to database. sheet with
row names cannot be saved. The alternative is to transpose the sheet, then
name_columns_by_row and then save.

e.g. [[\"x\", \"y\"], [1, 2], [3]], some record would become non-uniform, e.g.
key \'y\' would be missing from the second record.

another data source. For example, if your array contains a row which is
consisted of empty string, such as [\'\', \'\', \'\' ... \'\'], please specify
`skip_empty_rows=False` in order to preserve it. This becomes subtle when
you try save a python dictionary where empty rows is not easy to be spotted.

for save_book_as.

0.4.1 - 23.12.2016
--------------------------------------------------------------------------------

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


save_to_memory() should have returned a stream instance.


0.4.0 - 22.12.2016
--------------------------------------------------------------------------------

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


allow sheet_name parameter

case-insensitive for file_type. `xls` and `XLS` are treated in the same way


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


ignored



0.3.3 - 07.11.2016
--------------------------------------------------------------------------------

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


empty sheet(hence book with empty sheet) as texttable


0.3.2 - 02.11.2016
--------------------------------------------------------------------------------

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


import error become visible.


0.3.0 - 28.10.2016
--------------------------------------------------------------------------------

.. _version_o_three:

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



better memory performance, especially dealing with large csv files.

should have better memory performance, especially dealing with large csv
files.


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


a sheet as

the console is of ascii encoding.

renderer

not work


functions

* `pyexcel.Sheet.enumerate()`
* `pyexcel.Sheet.reverse()`
* `pyexcel.Sheet.vertical()`
* `pyexcel.Sheet.rvertical()`
* `pyexcel.Sheet.rows()`
* `pyexcel.Sheet.rrows()`
* `pyexcel.Sheet.columns()`
* `pyexcel.Sheet.rcolumns()`
* `pyexcel.Sheet.named_rows()`
* `pyexcel.Sheet.named_columns()`


return the actual content. No longer they will return a io object hence
you cannot call getvalue() on them.

Removed:
********************************************************************************


no longer supported.



* `pyexcel.to_array`
* `pyexcel.to_dict`
* `pyexcel.utils.to_one_dimensional_array`
* `pyexcel.dict_to_array`
* `pyexcel.from_records`
* `pyexcel.to_records`


removed:

* `pyexcel.filters.ColumnIndexFilter`
* `pyexcel.filters.ColumnFilter`
* `pyexcel.filters.RowFilter`
* `pyexcel.filters.EvenColumnFilter`
* `pyexcel.filters.OddColumnFilter`
* `pyexcel.filters.EvenRowFilter`
* `pyexcel.filters.OddRowFilter`
* `pyexcel.filters.RowIndexFilter`
* `pyexcel.filters.SingleColumnFilter`
* `pyexcel.filters.RowValueFilter`
* `pyexcel.filters.NamedRowValueFilter`
* `pyexcel.filters.ColumnValueFilter`
* `pyexcel.filters.NamedColumnValueFilter`
* `pyexcel.filters.SingleRowFilter`



* `add_formatter`
* `remove_formatter`
* `clear_formatters`
* `freeze_formatters`
* `add_filter`
* `remove_filter`
* `clear_filters`
* `freeze_formatters`


removed:

* pyexcel.formatters.SheetFormatter


0.2.5 - 31.08.2016
--------------------------------------------------------------------------------

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


have been made as compulsory requirement


0.2.4 - 14.07.2016
--------------------------------------------------------------------------------

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



0.2.3 - 11.07.2016
--------------------------------------------------------------------------------

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


Hence, adding support for sys.stdin and sys.stdout.

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

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





0.2.1 - 23.04.2016
--------------------------------------------------------------------------------

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




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





Removed:
********************************************************************************



0.2.0 - 17.01.2016
--------------------------------------------------------------------------------

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





0.1.7 - 03.07.2015
--------------------------------------------------------------------------------

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




0.1.6 - 13.06.2015
--------------------------------------------------------------------------------

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




0.0.13 - 07.02.2015
--------------------------------------------------------------------------------

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




0.0.12 - 25.01.2015
--------------------------------------------------------------------------------

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




0.0.10 - 15.12.2015
--------------------------------------------------------------------------------

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




0.0.4 - 12.10.2014
--------------------------------------------------------------------------------

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



0.0.1 - 14.09.2014
--------------------------------------------------------------------------------

Features:


as excel files)

RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/home:/emendonca/openSUSE_Factory/noarch

Content of RPM  Changelog  Provides Requires

Hmm ... It's impossible ;-) This RPM doesn't exist on any FTP server

Provides :
python-pyexcel

Requires :
python(abi) = 2.7
python-lml >= 0.0.1
python-pyexcel-io >= 0.5.6
python-texttable >= 0.8.1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1


Content of RPM :
/usr/lib/python2.7/site-packages/pyexcel
/usr/lib/python2.7/site-packages/pyexcel-0.5.7-py2.7.egg-info
/usr/lib/python2.7/site-packages/pyexcel-0.5.7-py2.7.egg-info/PKG-INFO
/usr/lib/python2.7/site-packages/pyexcel-0.5.7-py2.7.egg-info/SOURCES.txt
/usr/lib/python2.7/site-packages/pyexcel-0.5.7-py2.7.egg-info/dependency_links.txt
/usr/lib/python2.7/site-packages/pyexcel-0.5.7-py2.7.egg-info/not-zip-safe
/usr/lib/python2.7/site-packages/pyexcel-0.5.7-py2.7.egg-info/requires.txt
/usr/lib/python2.7/site-packages/pyexcel-0.5.7-py2.7.egg-info/top_level.txt
/usr/lib/python2.7/site-packages/pyexcel/__init__.py
/usr/lib/python2.7/site-packages/pyexcel/__init__.pyc
/usr/lib/python2.7/site-packages/pyexcel/_compact.py
/usr/lib/python2.7/site-packages/pyexcel/_compact.pyc
/usr/lib/python2.7/site-packages/pyexcel/book.py
/usr/lib/python2.7/site-packages/pyexcel/book.pyc
/usr/lib/python2.7/site-packages/pyexcel/constants.py
/usr/lib/python2.7/site-packages/pyexcel/constants.pyc
/usr/lib/python2.7/site-packages/pyexcel/cookbook.py
/usr/lib/python2.7/site-packages/pyexcel/cookbook.pyc
/usr/lib/python2.7/site-packages/pyexcel/core.py
/usr/lib/python2.7/site-packages/pyexcel/core.pyc
/usr/lib/python2.7/site-packages/pyexcel/deprecated.py
/usr/lib/python2.7/site-packages/pyexcel/deprecated.pyc
/usr/lib/python2.7/site-packages/pyexcel/docstrings
/usr/lib/python2.7/site-packages/pyexcel/docstrings/__init__.py
/usr/lib/python2.7/site-packages/pyexcel/docstrings/__init__.pyc
/usr/lib/python2.7/site-packages/pyexcel/docstrings/core.py
/usr/lib/python2.7/site-packages/pyexcel/docstrings/core.pyc
/usr/lib/python2.7/site-packages/pyexcel/docstrings/garbagecollector.py
/usr/lib/python2.7/site-packages/pyexcel/docstrings/garbagecollector.pyc
/usr/lib/python2.7/site-packages/pyexcel/docstrings/keywords.py
There is 121 files more in these RPM.

 
ICM