Skip to content

REF: Proposal: change DataFrame.to_excel to output unformatted excel file #54154

New issue

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

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

Already on GitHub? # to your account

Closed
1 of 3 tasks
Tracked by #44823
attack68 opened this issue Jul 16, 2023 · 9 comments · Fixed by #54302
Closed
1 of 3 tasks
Tracked by #44823

REF: Proposal: change DataFrame.to_excel to output unformatted excel file #54154

attack68 opened this issue Jul 16, 2023 · 9 comments · Fixed by #54302
Assignees
Labels
IO Excel read_excel, to_excel Refactor Internal refactoring of code
Milestone

Comments

@attack68
Copy link
Contributor

Feature Type

  • Adding new functionality to pandas

  • Changing existing functionality in pandas

  • Removing existing functionality in pandas

Problem Description

TLDR;

Please indicate with a +1 if you are happy for the default DataFrame.to_excel to be changed to output an excel file without any bold or bordered style attached.

Description

The current action of DataFrame.to_excel is to produce an excel file with default bold and bordered styles for column and row headers:

df = pd.DataFrame([[1,2],[3,4]], index=["one", "two"], columns=["A", "B"])
df.to_excel("file.xlsx")

image

A number of issues are attempting to address this:

In a recent PR (#53973) it is proposed to remove the ability to format excel file styles with DataFrame.to_excel and instead document how users can use the Styler.to_excel to create styles excel files.

This has a number of advantages:

  • Simplifies the code, since it is effectively a removal and additions of documentation.
  • Creates a more consistent Styler.to_excel (which uses DataFrame.to_excel) since an unstyled Styler wont produce this bold bordering by default.
  • Encourages users to use a more flexible tool for formatting.

@pandas-dev appreciate input to gain some form of concensus to proceed.
@WillAyd @rhshadrach @mroeschke

Feature Description

Alternative Solutions

Additional Context

@attack68 attack68 added Enhancement Needs Triage Issue that has not been reviewed by a pandas team member IO Excel read_excel, to_excel Refactor Internal refactoring of code and removed Needs Triage Issue that has not been reviewed by a pandas team member Enhancement labels Jul 16, 2023
@rmhowe425
Copy link
Contributor

rmhowe425 commented Jul 16, 2023

Taking this since I'm already doing the work for this PR

@WillAyd
Copy link
Member

WillAyd commented Jul 16, 2023

+1

1 similar comment
@rhshadrach
Copy link
Member

+1

@mroeschke
Copy link
Member

+1 on a deprecation of to_excel from producing a formatted excel file

@rhshadrach
Copy link
Member

rhshadrach commented Jul 16, 2023

@mroeschke - would you be opposed to doing this in 3.0 without deprecation? I think to deprecate this, there would need to be a way to silence the warning - e.g. an argument or option added in and then that deprecated in 3.0. Since this can't break any workflow (it's just styling), that doesn't seem worth the effort to me.

@mroeschke
Copy link
Member

Sure a 3.0 break sounds good too

@alimcmaster1
Copy link
Member

+1

@attack68
Copy link
Contributor Author

I would suggets we have enough support here to progress with at least the PR, @rmhowe425

@rmhowe425
Copy link
Contributor

@attack68 Excellent! I'll get started on implementation

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
IO Excel read_excel, to_excel Refactor Internal refactoring of code
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants