python - 在 python 中进行 Excel 格式化而不加载工作簿

标签 python excel format openpyxl xlsxwriter

我正在尝试在 python 中格式化我在同一脚本中创建的 Excel 文档。我找到的所有答案都涉及将现有工作簿加载到 python 中并从那里进行格式化。在我的脚本中,我目前正在编写整个未格式化的 Excel 工作表,保存文件,然后立即将文档重新加载到 python 中进行格式化。这是我能找到的唯一解决方法,以便我可以拥有一个事件工作表。

writer=pd.ExcelWriter(file_name, engine='openpyxl')
writer.save()#saving my file
wb=load_workbook(file_name) #reloading file to format
ws=wb.active
ws.column_dimensions['A'].width=33
ws.column_dimensions['B'].width=16 
wb.save(file_name)

这可以改变列宽等方面,但我想要一种无需保存和重新加载即可格式化页面的方法。当尚未写入 file_name 时,是否有办法绕过对事件工作表的需求?我想要一种方法来删除第 2 行和第 3 行,但可能是这样。

最佳答案

Pandas 在 ExcelWriter 中创建的对象取决于您为其提供的“引擎”。在本例中,您传递的是“openpyxl”,因此 ExcelWriter 正在创建一个 openpyxl.Workbook() 对象。您可以使用“Workbook()”在 openpyxl 中创建一个新的工作簿,如下所示:

https://openpyxl.readthedocs.io/en/default/tutorial.html#create-a-workbook

它是用 1 个事件工作表创建的。基本上:

import openpyxl

wb = openpyxl.Workbook()
ws=wb.active
ws.column_dimensions['A'].width=33
ws.column_dimensions['B'].width=16 
wb.save(file_name)

...可以完成这项工作

关于python - 在 python 中进行 Excel 格式化而不加载工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45044181/

相关文章:

python - 运行 django 应用程序时 TemplateDoesNotExist

python - Pandas MultiIndex 单级查找比其他访问模式慢得多

ios - 制作新格式(例如 ".rcb")

spring - Spring 中的@DateTimeFormat 会产生一天后的错误

VBA 向自己发送调试信息

c - 我该怎么做才能停止错误 "expected expression before ‘char’“?

python - numpy.where() 具有 3 个或更多条件

python - 该进程从 chrome 位置 C :\. 开始。\Chrome\Application\chrome.exe 不再运行,因此 ChromeDriver 假设 Chrome 已崩溃

excel - 如何在 Excel VBA 中的行范围内引用命名列

vba - Excel 2013 64位VBA语法错误 "Compile error: "应为: End of Statement"