A python library to read and write structured data in csv, zipped csv format and to/from databases
Project description
pyexcel-io provides one application programming interface(API) to read and write the data in excel format, import the data into and export the data from database. It provides support for csv(z) format, django database and sqlalchemy supported databases. Its supported file formats are extended to cover “xls”, “xlsx”, “ods” by the following extensions:
Package name |
Supported file formats |
Dependencies |
Python versions |
---|---|---|---|
2.6, 2.7, 3.3, 3.4, 3.5, pypy, pypy3 |
|||
xls, xlsx(read only), xlsm(read only) |
xlrd, xlwt |
same as above |
|
xlsx |
openpyxl |
same as above |
|
xlsx(write only) |
xlsxwriter |
same as above |
|
ods |
ezodf, lxml |
2.6, 2.7, 3.3, 3.4 3.5 |
|
ods |
odfpy |
same as above |
Footnotes
If you need to manipulate the data, you might do it yourself or use its brother library pyexcel .
If you would like to extend it, you may use it to write your own extension to handle a specific file format.
Known constraints
Fonts, colors and charts are not supported.
Installation
You can install it via pip:
$ pip install pyexcel-io
or clone it and install it:
$ git clone http://github.com/pyexcel/pyexcel-io.git
$ cd pyexcel-io
$ python setup.py install
License
New BSD License
Change log
0.24 - unreleased
Updated
#19, use cString by default
0.23 - unreleased
Added
0.22 - 31.08.2016
Added
support pagination. two pairs: start_row, row_limit and start_column, column_limit help you deal with large files.
skip_empty_rows=True was introduced. To include empty rows, put it to False.
Updated
#20, pyexcel-io attempts to parse cell contents of ‘infinity’ as a float/int, crashes
0.2.1 - 11.07.2016
Added
csv format: handle utf-16 encoded csv files. Potentially being able to decode other formats if correct “encoding” is provided
csv format: write utf-16 encoded files. Potentially other encoding is also supported
support stdin as input stream and stdout as output stream
Updated
Attention, user of pyexcel-io! No longer io stream validation is performed in python 3. The guideline is: io.StringIO for csv, tsv only, otherwise BytesIO for xlsx, xls, ods. You can use RWManager.get_io to produce a correct stream type for you.
#15, support foreign django/sql foreign key
0.2.0 - 01.06.2016
Added
autoload of pyexcel-io plugins
auto detect datetime, float and int. Detection can be switched off by auto_detect_datetime, auto_detect_float, auto_detect_int
0.1.0 - 17.01.2016
Added
# yield key word to return generator as content
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.