GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - pyexcel/pyexcel-cli: A command utility to read and write data into csv, tsv, xls, xlsx and ods format.

BranchesTags
Open more actions menu

Latest commit

 

History

85 Commits
85 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.moban.d
.moban.d
 
 
docs/source
docs/source
 
 
pyexcel_cli
pyexcel_cli
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
.moban.yml
.moban.yml
 
 
.readthedocs.yml
.readthedocs.yml
 
 
.travis.yml
.travis.yml
 
 
CHANGELOG.rst
CHANGELOG.rst
 
 
CONTRIBUTORS.rst
CONTRIBUTORS.rst
 
 
LICENSE
LICENSE
 
 
MANIFEST.in
MANIFEST.in
 
 
Makefile
Makefile
 
 
README.rst
README.rst
 
 
changelog.yml
changelog.yml
 
 
format.sh
format.sh
 
 
lint.sh
lint.sh
 
 
pyexcel-cli-sortable.gif
pyexcel-cli-sortable.gif
 
 
pyexcel-cli.gif
pyexcel-cli.gif
 
 
pyexcel_cli.yml
pyexcel_cli.yml
 
 
requirements.txt
requirements.txt
 
 
rnd_requirements.txt
rnd_requirements.txt
 
 
setup.cfg
setup.cfg
 
 
setup.py
setup.py
 
 
test.bat
test.bat
 
 
test.sh
test.sh
 
 

Repository files navigation

pyexcel-cli - Let you focus on data at command line, instead of file formats

https://raw.githubusercontent.com/pyexcel/pyexcel.github.io/master/images/patreon.png https://pepy.tech/badge/pyexcel-cli/month https://img.shields.io/static/v1?label=continuous%20templating&message=%E6%A8%A1%E7%89%88%E6%9B%B4%E6%96%B0&color=blue&style=flat-square https://img.shields.io/static/v1?label=coding%20style&message=black&color=black&style=flat-square https://readthedocs.org/projects/pyexcel-cli/badge/?version=latest

Support the project

If your company uses pyexcel and its components in a revenue-generating product, please consider supporting the project on GitHub or Patreon. Your financial support will enable me to dedicate more time to coding, improving documentation, and creating engaging content.

Known constraints

Fonts, colors and charts are not supported.

Nor to read password protected xls, xlsx and ods files.

Introduction

pyexcel-cli brings pyexcel to make it easy to consume/produce information stored in excel files on command line interface. This library can turn the excel data into a list of lists, a list of records(dictionaries), dictionaries of lists. And vice versa. Hence it lets you focus on data in shell programming, instead of file formats.

Hightlighted features:

  1. View data in the excel files without Microsoft Office or Open Office
  2. Transcode data among supported excel file formats
  3. Merge files in various excel file formats into one
  4. Split a multi-sheet excel file into single sheet files
  5. Find difference in data between two excel files

Usage

$ cd demo
$ pyexcel view --in-browser --output-file-type sortable.html --sheet-index 0 https://github.com/pyexcel/excel2table/raw/master/sample/goog.ods

Here's what you will get:

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

Note

You will need to install pyexcel-sortable, which renders it.

Here is another cli example usage:

$ pyexcel view https://github.com/pyexcel/pyexcel-cli/blob/master/tests/fixtures/multiple-sheets.xls
Sheet 1:
+---+---+---+
| 1 | 2 | 3 |
+---+---+---+
| 4 | 5 | 6 |
+---+---+---+
| 7 | 8 | 9 |
+---+---+---+
Sheet 2:
+---+---+---+
| X | Y | Z |
+---+---+---+
| 1 | 2 | 3 |
+---+---+---+
| 4 | 5 | 6 |
+---+---+---+
Sheet 3:
+---+---+---+
| O | P | Q |
+---+---+---+
| 3 | 2 | 1 |
+---+---+---+
| 4 | 3 | 2 |
+---+---+---+

Because pyexcel family is loosely coupled, especially for file format supports, you install the libraries that you need to. If you need to support xls format, you will need to install pyexcel-xls. For more information, please see the plugin section.

A list of file formats supported by external plugins
Package name Supported file formats Dependencies
pyexcel-io csv, csvz [1], tsv, tsvz [2] csvz,tsvz readers depends on chardet
pyexcel-xls xls, xlsx(read only), xlsm(read only) xlrd, xlwt
pyexcel-xlsx xlsx openpyxl
pyexcel-ods3 ods pyexcel-ezodf, lxml
pyexcel-ods ods odfpy
Dedicated file reader and writers
Package name Supported file formats Dependencies
pyexcel-xlsxw xlsx(write only) XlsxWriter
pyexcel-libxlsxw xlsx(write only) libxlsxwriter
pyexcel-xlsxr xlsx(read only) lxml
pyexcel-xlsbr xlsb(read only) pyxlsb
pyexcel-odsr read only for ods, fods lxml
pyexcel-odsw write only for ods loxun
pyexcel-htmlr html(read only) lxml,html5lib
pyexcel-pdfr pdf(read only) camelot

Plugin shopping guide

Since 2020, all pyexcel-io plugins have dropped the support for python versions which are lower than 3.6. If you want to use any of those Python versions, please use pyexcel-io and its plugins versions that are lower than 0.6.0.

Except csv files, xls, xlsx and ods files are a zip of a folder containing a lot of xml files

The dedicated readers for excel files can stream read

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').

Other data renderers
Package name Supported file formats Dependencies Python versions
pyexcel-text write only:rst, mediawiki, html, latex, grid, pipe, orgtbl, plain simple read only: ndjson r/w: json tabulate 2.6, 2.7, 3.3, 3.4 3.5, 3.6, pypy
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

Footnotes

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

Installation

You can install pyexcel-cli via pip:

$ pip install pyexcel-cli

or clone it and install it:

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

Development guide

Development steps for code changes

  1. git clone https://github.com/pyexcel/pyexcel-cli.git
  2. cd pyexcel-cli

Upgrade your setup tools and pip. They are needed for development and testing only:

  1. pip install --upgrade setuptools pip

Then install relevant development requirements:

  1. pip install -r rnd_requirements.txt # if such a file exists
  2. pip install -r requirements.txt
  3. pip install -r tests/requirements.txt

Once you have finished your changes, please provide test case(s), relevant documentation and update changelog.yml

Note

As to rnd_requirements.txt, usually, it is created when a dependent library is not released. Once the dependency is installed (will be released), the future version of the dependency in the requirements.txt will be valid.

How to test your contribution

Although nose and doctest are both used in code testing, it is advisable that unit tests are put in tests. doctest is incorporated only to make sure the code examples in documentation remain valid across different development releases.

On Linux/Unix systems, please launch your tests like this:

$ make

On Windows, please issue this command:

> test.bat

Before you commit

Please run:

$ make format

so as to beautify your code otherwise your build may fail your unit test.

License

New BSD License

About

A command utility to read and write data into csv, tsv, xls, xlsx and ods format.

cli.pyexcel.org

Resources

Readme
License
Activity
Custom properties

Stars

36 stars

Watchers

4 watching

Forks

3 forks
Report repository

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.