Hướng dẫn pandas to excel remove header format - pandas để excel loại bỏ định dạng tiêu đề

Dựa trên phần lớn dựa trên một ví dụ được cung cấp trong tài liệu XLSXWRITHER (liên kết ở đây), ví dụ có thể tái tạo hoàn toàn bên dưới sẽ loại bỏ định dạng tiêu đề PANDAS mặc định trong Pandas 0,24.2. Đáng chú ý là trong df.to_excel(), tôi đang thay đổi các tham số headerstartrow.

import xlsxwriter
import pandas as pd
import numpy as np

# Creating a dataframe 
df = pd.DataFrame(np.random.randn(100, 3), columns=list('ABC'))
column_list = df.columns
# Create a Pandas Excel writer using XlsxWriter engine.
writer = pd.ExcelWriter("test.xlsx", engine='xlsxwriter')

df.to_excel(writer, sheet_name='Sheet1', startrow=1, header=False, index=False)

# Get workbook and worksheet objects
workbook  = writer.book
worksheet = writer.sheets['Sheet1']


for idx, val in enumerate(column_list):
    worksheet.write(0, idx, val)

writer.save()

print(pd.__version__)

Đầu ra dự kiến:

0.24.2

Hướng dẫn pandas to excel remove header format - pandas để excel loại bỏ định dạng tiêu đề

Một ví dụ về việc chuyển đổi DataFrame của Pandas thành tệp Excel với định dạng tiêu đề do người dùng xác định bằng Pandas và XLSXWriter.

##############################################################################
#
# An example of converting a Pandas dataframe to an xlsx file
# with a user defined header format.
#
# SPDX-License-Identifier: BSD-2-Clause
# Copyright 2013-2022, John McNamara, 
#

import pandas as pd

# Create a Pandas dataframe from some data.
data = [10, 20, 30, 40, 50, 60]
df = pd.DataFrame({'Heading': data,
                   'Longer heading that should be wrapped' : data})

# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter("pandas_header_format.xlsx", engine='xlsxwriter')

# Convert the dataframe to an XlsxWriter Excel object. Note that we turn off
# the default header and skip one row to allow us to insert a user defined
# header.
df.to_excel(writer, sheet_name='Sheet1', startrow=1, header=False)

# Get the xlsxwriter workbook and worksheet objects.
workbook  = writer.book
worksheet = writer.sheets['Sheet1']

# Add a header format.
header_format = workbook.add_format({
    'bold': True,
    'text_wrap': True,
    'valign': 'top',
    'fg_color': '#D7E4BC',
    'border': 1})

# Write the column headers with the defined format.
for col_num, value in enumerate(df.columns.values):
    worksheet.write(0, col_num + 1, value, header_format)

# Close the Pandas Excel writer and output the Excel file.
writer.save()

Mẫu mã, một ví dụ có thể sao chép nếu có thể

pandas.io.formats.excel.header_style = None
pandas.core.format.header_style = None
pandas.formats.format.header_style = None

Mô tả vấn đề

Mỗi lần tôi cố gắng tạo một tệp XLSX đơn giản từ một loạt các kết quả SQL, cuối cùng tôi đã dành phần lớn thời gian của mình để cố gắng thoát khỏi định dạng tiêu đề mặc định khủng khiếp. Tôi không bao giờ nhớ làm thế nào để làm điều đó vì vậy tôi thử tất cả các cách trên internet và thường không ai trong số họ làm việc.

Bạn có thể vui lòng thêm ít nhất 4 cách khác nhau để vô hiệu hóa định dạng mặc định để tôi có thể dành nhiều thời gian hơn để cố gắng tìm ra một hành động tầm thường như vậy vào lần tới không?

Ngoài ra, sẽ rất tuyệt nếu phông chữ tiêu đề mặc định có thể được thay đổi thành Comic Sans với màu phông chữ màu vàng, sau đó tôi có thể đi và sửa định dạng tiêu đề theo cách thủ công cho mỗi tệp vì không ai có thể đọc nó.

Kịch bản trường hợp tốt nhất sẽ là bằng cách nào đó ngẫu nhiên hóa thuộc tính này vô hiệu hóa định dạng để nó thay đổi từ phiên bản sang phiên bản và cách cũ để tắt và đi để tôi có thể tránh được nhiều công việc hơn bằng cách vá lỗi mỗi khi tôi cập nhật.

Cảm ơn bạn !

Đầu ra mong đợi

pandas.io.formats.excel.header_style = none pandas.core.format.header_style = none pandas.formats.format.header_style = none pandas.formats.io.excel.header Không có pandas.pandas.pandas.header = none pandas.defaults.excel.headers.style = none pandas.formats.excel.header.interior.color = none pandas.formats.excel.header.borders.color = none pandas.formats .excel.header.border.style = Không có
pandas.core.format.header_style = None
pandas.formats.format.header_style = None
pandas.formats.io.excel.header = None
pandas.excel.formats.io.header = None
pandas.pandas.pandas.header = None
pandas.defaults.excel.headers.style = None
pandas.formats.excel.header.interior.color = None
pandas.formats.excel.header.borders.color = None
pandas.formats.excel.header.borders.style = None

Đầu ra của pd.show_versions()

Phiên bản đã cài đặt

Cam kết: Không Python: 3.5.3.Final.0 Python-bit: 64 OS: Linux OS-RELEASE: 4.9.0-8-AMD64 Máy: X86_64 : en_gb.utf-8
python: 3.5.3.final.0
python-bits: 64
OS: Linux
OS-release: 4.9.0-8-amd64
machine: x86_64
processor:
byteorder: little
LC_ALL: None
LANG: en_GB.UTF-8
LOCALE: en_GB.UTF-8

Pandas: 0.24.1 Pytest: Không PIP: 19.0.2 Setuptools: 40.6.3 Cython: Không Numpy: 1.16.1 Scipy: Không Pyarrow: Không Xarray: Không IPYTHON: Không Sphinx: Không Patsy: Không : 2018.9 blosc: Không nút chai: Không có bảng: Không numExPR: Không có lông: Không matplotlib: none openpyxl: now pymysql: none psycopg2: none jinja2: none s3fs: none fastparquet: none pandas_gbq: none pandas_datareader: none gcsfs
pytest: None
pip: 19.0.2
setuptools: 40.6.3
Cython: None
numpy: 1.16.1
scipy: None
pyarrow: None
xarray: None
IPython: None
sphinx: None
patsy: None
dateutil: 2.8.0
pytz: 2018.9
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: None
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: 1.1.4
lxml.etree: 4.3.1
bs4: None
html5lib: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: None
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
gcsfs: None