pyexcel-io - Let you focus on data, instead of file formats

Source code:
License:New BSD License
Generated:January 11, 2017


pyexcel-io provides one application programming interface(API) to read and write data in different excel formats. It makes information processing involving excel files a simple task. The data in excel files can be turned into an ordered dictionary with least code. This library focuses on data processing using excel files as storage media hence fonts, colors and charts were not and will not be considered.

It was created due to the lack of uniform programming interface to access data in different excel formats. A developer needs to use different methods of different libraries to read the same data in different excel formats, hence the resulting code is cluttered and unmaintainable. This is a challenge posed by users who do not know or care about the differences in excel file formats. Instead of educating the users about the specific excel format a data processing application supports, the library takes up the challenge and promises to support all known excel formats.

All great work have done by individual library developers. This library unites only the data access API. With that said, pyexcel-io also bring something new on the table: “csvz” and “tsvz” format, new format names as of 2014. They are invented and supported by pyexcel-io.

Getting the source

Source code is hosted in github. You can get it using git client:

$ git clone


You can install it via pip:

$ pip install pyexcel-io

For individual excel file formats, please install them as you wish:

a map of plugins and supported excel file formats
Package name Supported file formats Dependencies Python versions

csv, csvz [1], tsv,

tsvz [2]

  2.6, 2.7, 3.3, 3.4, pypy

xls, xlsx(read only),

xlsm(read only)

xlrd, xlwt 2.6, 2.7, 3.3, 3.4, pypy
xlsx xlsx openpyxl 2.6, 2.7, 3.3, 3.4, pypy
ods3 ods ezodf, lxml 2.6, 2.7, 3.3, 3.4
ods ods (python 2.6, 2.7) odfpy 2.6, 2.7

Please import them before you start to access the desired file formats:

import pyexcel_plugin

After that, you can start get and save data in the loaded format.

Plugin compatibility table
pyexcel-io xls xlsx ods ods3 text
0.2.0 0.2.0 0.2.0 0.2.0 0.2.0 0.2.0
0.1.0 0.1.0 0.1.0 0.1.0 0.1.0 0.1.0

Special note



Utility functions

Indices and tables


[1]zipped csv file
[2]zipped tsv file