我正在尝试在 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/