gpt4 book ai didi

python - 隐藏工作表或有效隐藏 excel 选项卡的 Pandas to_excel?

转载 作者:行者123 更新时间:2023-12-04 21:45:26 25 4
gpt4 key购买 nike

创建和保存df:

df = pd.DataFrame({'Attribute1': ['A', 'B'], 'Attribute2': ['X', 'Y']})
filename = 'test.xlsx'

writer = pd.ExcelWriter(filename, engine='xlsxwriter')
with writer:
df.to_excel(writer, sheet_name='df')
df.to_excel(writer, sheet_name='2nd tab')
我想添加类似 hidden=True 的内容到工作表条件,但 pandas doesn't seem to support this .
我们可以 do this manually with openpyxl ,但对于大文件来说速度太慢了:
from openpyxl import load_workbook
wb = load_workbook(filename)
wb["df"].sheet_state='hidden'
wb.save(filename)
显然,最好的解决方案是不使用 Excel,但这是要求。这样做的实用方法是什么?

最佳答案

您需要获取 XlsxWriter 工作表对象的句柄才能隐藏它。像这样:

import pandas as pd

df = pd.DataFrame({'Attribute1': ['A', 'B'],
'Attribute2': ['X', 'Y']})

filename = 'test.xlsx'

writer = pd.ExcelWriter(filename, engine='xlsxwriter')

with writer:
df.to_excel(writer, sheet_name='df')
df.to_excel(writer, sheet_name='2nd tab')

# Get a handle to the worksheet.
worksheet = writer.sheets['2nd tab']
worksheet.hide()
输出:
enter image description here
如果您想隐藏第一个工作表,您需要做一些额外的工作,因为 Excel 不允许您隐藏“事件”工作表,它通常是第一个工作表。在这种情况下,您还需要“激活”另一个工作表。像这样:
with writer:
df.to_excel(writer, sheet_name='df')
df.to_excel(writer, sheet_name='2nd tab')

worksheet = writer.sheets['df']
worksheet.hide()

worksheet = writer.sheets['2nd tab']
worksheet.activate()

输出:
enter image description here
更多详情请参阅 Working with Python Pandas and XlsxWriter
另请注意, datetime_format您的示例中的参数不正确。这是 writer 类的属性,而不是 to_excel()方法。我把它从上面的例子中去掉了。

关于python - 隐藏工作表或有效隐藏 excel 选项卡的 Pandas to_excel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67154554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com