gpt4 book ai didi

python - 在 xlsxwriter 中格式化 pandas 数据框重复工作表名称

转载 作者:太空宇宙 更新时间:2023-11-03 20:26:01 25 4
gpt4 key购买 nike

当我尝试编写 pandas 数据框并使用 xlsxwriter 应用一些格式时出现 DuplicateWorksheetName 错误。

我没有见过类似的问题。我已经看到关于格式没有选择性地应用于标题等的问题,对此有一些解决方案。

import xlsxwriter
import pandas as pd

dest_filename="C:/Users/User11/Python test/sample.xlsx"
writer = pd.ExcelWriter(dest_filename, engine='xlsxwriter')
wb = writer.book
df1 = pd.DataFrame({'col_1': [1, 2, 3],'col_2': [4, 5, 6],}, columns=['col_1', 'col_2'])
ws = wb.add_worksheet("Sheet1")
format1 = wb.add_format({'bg_color': '#FFC7CE','font_color': '#9C0006'})
format2 = wb.add_format({'bg_color': '#000000','font_color': '#000000'})
ws.set_column('B:P', 2)
# Set the format but not the column width.
ws.set_column('A:A', None)
ws.conditional_format('B2:P16', {'type': 'blanks','stop_if_true': True,'format': format1})
df1.to_excel(writer,sheet_name="Sheet1",)
writer.save()

最佳答案

“DuplicateWorksheetName”异常表示您正在尝试创建两个具有相同名称的工作表(Excel 不允许这样做)。这种情况发生在 add_worksheet("Sheet1")df1.to_excel(writer,sheet_name="Sheet1") 调用中。

正确的方法是将 Pandas 与 XlsxWriter 中的工作表直接操作混合起来,即使用 pandas 创建工作表 (.to_excel()),然后访问创建的工作表和工作簿对象。

请参阅 Working with Python Pandas and XlsxWriter 上的 XlsxWriter 文档。这是一个基于您的代码的工作示例:

import xlsxwriter
import pandas as pd

dest_filename="C:/Users/User11/Python test/sample.xlsx"
writer = pd.ExcelWriter(dest_filename, engine='xlsxwriter')

df1 = pd.DataFrame({'col_1': [1, 2, 3],
'col_2': [4, 5, 6],},
columns=['col_1', 'col_2'])
df1.to_excel(writer,sheet_name="Sheet1")

# Get the xlsxwriter objects from the dataframe writer object.
wb = writer.book
ws = writer.sheets['Sheet1']

format1 = wb.add_format({'bg_color': '#FFC7CE','font_color': '#9C0006'})
format2 = wb.add_format({'bg_color': '#000000','font_color': '#000000'})

ws.set_column('B:P', 2)

ws.conditional_format('B2:P16', {'type': 'blanks',
'stop_if_true': True,
'format': format1})

writer.save()

关于python - 在 xlsxwriter 中格式化 pandas 数据框重复工作表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57815151/

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