python - 我可以在不预先创建工作簿对象的情况下创建 Python Pandas ExcelWriter 格式吗?
问题描述
我想在 Pandas 中为 ExcelWriter 创建一个固定格式,我可以在许多脚本中使用它,而无需每次都编写它。我知道我可以创建一个格式:
import pandas as pd
writer = pd.ExcelWriter('demo.xlsx', engine='xlsxwriter')
workbook = writer.book
num_fmt = workbook.add_format({'num_format': '#,##0.0'})
然后使用num_fmt
:
worksheet.set_column('H:H', 8, num_fmt)
但我正在寻找一种方法来避免在我编写的每个脚本中重新定义num_fmt
。我有一个名为我导入到每个脚本的自定义包my_pack
,我想以某种方式num_fmt
在那里定义,所以我可以像这样使用它:
worksheet.set_column('H:H', 8, my_pack.num_fmt)
没有num_fmt
在当前脚本中定义。那可能吗?
解决方案
我有一个名为 my_pack 的自定义包,我将其导入到每个脚本中,并且我想以某种方式在其中定义 num_fmt ...而不在当前脚本中定义 num_fmt 。那可能吗?
不,不是 XlsxWriter。
您需要从 Workbook 对象实例化格式,并且它对每个工作簿都是唯一的,因此您将无法创建一次、存储它,然后在不同的工作簿中重复使用它。