Skip to content

ENH: Support for PyExcelerate as an Excel writer engine. #5128

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 4 commits into from
Closed

ENH: Support for PyExcelerate as an Excel writer engine. #5128

wants to merge 4 commits into from

Conversation

jmcnamara
Copy link
Contributor

This is an initial patch to add PyExcelerate as an Excel writer engine.

It isn't suitable for merge yet since there is issue with date handling in PyExcelerate that I am working to resolve with the authors. I just want this to appear on the pandas timeline for now so I can refer to it in other PRs.

  1. The requirements files are missing since the PR will require a PyExcelerate update and release. Also, the print_versions.py entry.
  2. There is also a failing test due to versioning.
  3. There is currently no merged cell support.

I'll fix all these before the final PR request.

John

@jtratner
Copy link
Contributor

jtratner commented Oct 6, 2013

@jmcnamara awesome - really interested in this!

@@ -41,6 +41,7 @@ before_install:
install:
- echo "Waldo2"
- ci/install.sh
- pip install git+git://github.com/jmcnamara/PyExcelerate@pandas
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

put this in one of the requirements files in pandas/ci

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just a a temporary measure while the PyExcelerate devs merge my PR and look at the date issue. Once the patched PyExcelerate is on PyPi I'll update this and the requirement files.

@jreback
Copy link
Contributor

jreback commented Oct 7, 2013

can you give a use case where PyExcelerate would be used rather than XlswWriter (undertsanding that you are the author of XlsxWriter!)

@jmcnamara
Copy link
Contributor Author

@jreback Do you mean to put a use case in the docs?

The general use case for PyExcelerate would be that it is faster. In the optimised case it is 50% faster than XlsxWriter. (I don't know what the associated memory usage is, I'll have to benchmark it.)

The use case for XlsxWriter is that it is fast enough (as fast as xlwt) and that it supports a lot of features such as charts, conditional formatting, autofilters and more.

I can add a line or two about that to install.rst or release.rst if you think that would be useful.

@jreback
Copy link
Contributor

jreback commented Oct 7, 2013

@jmcnamara I think a brief explanation for all of the excel engines would be in order (in install.rst (or io.rst) with a link on the other side would be good). A user would be like, hmm, let me specify an engine if ..... (aside from the fact that the default engine order will do a good job)

@jmcnamara
Copy link
Contributor Author

@jreback Yes. Good point. I'll add that.

@ghost
Copy link

ghost commented Dec 22, 2013

This is advocating that we incorporate a fifth optional-dependency for excel files support?!
That's sheer insanity. we should strive for less deps to do a given job, not more.

Given that it's also been gathering dust for 3 months, I'm just closing this.

@ghost ghost closed this Dec 22, 2013
@jmcnamara
Copy link
Contributor Author

This is advocating that we incorporate a fifth optional-dependency for excel files support?!
That's sheer insanity. we should strive for less deps to do a given job, not more.

I'm fine with closing it. Pyexcelerate isn't really stable enough or doesn't have enough formatting support for proper integration with Pandas.

That is also why the PR has stagnated for several months. I was waiting for the Pyexcelerate feature set to catch up.

All in all, it probably isn't worth adding at this stage.

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants