-
-
Notifications
You must be signed in to change notification settings - Fork 18.5k
PERF: refactor ExcelFormatter #11355
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
Comments
FYI, you might want to reach out o see if they can input these on a columnar basis to make this faster
|
The output is row based so there has to be a conversion at some point from columns to rows. See https://bitbucket.org/snippets/openpyxl/jgbak for a barebones approach. Will look to add support for Numpy types in a future version of openpyxl and using named styles for faster formatting. |
Are there any plans to resolve this issue? We'd really love to be able to use |
@calvinwyoung this is possible in openpyxl using the dataframe_to_rows() function, which should also work with xlsxwriter. Having looked at the code for the Excelformatter I'm pretty sure that this will always be faster than using to_excel() |
@calvinwyoung One problem with using xlsxwriter's |
@Themanwithoutaplan @jmcnamara Thank you both for the feedback. It seems like neither Is there a generally accepted strategy for supporting merged ranges and keeping memory consumption low? For our application, we're okay if the processing takes longer — it just so happens that the machines we're using are constrained by memory, and we aren't able to use swap. |
@calvinwyoung if you want to merge cells when writing straight to XML then you'll have to manage more of this yourself. Apart from the formatting it's not difficult. Details are out of scope for this ticket I think and should be discussed on the openpyxl mailing list. |
Grea, thank you! |
Seems like there's not been much development here and there doesn't seem to be a clear action item here so closing |
xref #11352
to_native_types
by block to yield already formatted cellsThe text was updated successfully, but these errors were encountered: