【问题标题】:XlsxWriter: Generate multi-worksheet workbook from separate python files?XlsxWriter:从单独的 python 文件生成多工作表工作簿?
【发布时间】:2021-01-07 15:38:30
【问题描述】:

我正在使用 XlsxWriter 编写一个 python 脚本来生成一个包含多个工作表的 .xlsx 文件。每个工作表都有多个表格和大量格式 - 因此我的代码变得很长。因此,我正在寻找一种方法来拆分代码,例如。工作表 1 对应于 worksheet1.py,带有一个“主”文件,用于将工作表编译成单个工作簿。

我尝试使用函数创建工作表并从另一个文件调用该函数以添加到现有工作簿 - 但此方法不起作用。 XlsxWriter 要求您将工作表添加到现有工作簿。 (如果我遗漏了什么并且这是可能的,请告诉我)。

另外,我想创建带有单个工作表的单个工作簿,并使用第二个包 (openpyxl) 来整理工作表。但是,我认为这会改变工作表上的格式。 (同样,如果我遗漏了什么,请告诉我)。

任何关于这个主题的想法都会受到欢迎

谢谢

编辑:示例表

example table

【问题讨论】:

    标签: python excel xlsxwriter


    【解决方案1】:

    Pandas 在这种情况下实际上会很有帮助。 您可以先为您的 excel 文件创建编写器

    writer = pd.ExcelWriter('test.xlsx',engine='xlsxwriter')
    

    创建你的表是数据框,check here about dataframes basics

    df.to_excel(writer,sheet_name='Sheet  1',startrow=0 , startcol=0) 
    

    将该表轻松放入您想要的任何 Excel 工作表(工作簿)中,只需提供名称作为参数。 在同一张表中放另一张桌子

    df_1.to_excel(writer,sheet_name='Sheet  1',startrow=20 , startcol=0) 
    

    更改要从哪里开始表格的行,或更改工作表名称

    【讨论】:

    • 感谢您的回复。但是,我认为这并不能完全解决我的问题。我要添加的表格有很多格式(参见编辑后的图片),所以我认为粘贴数据框不会得到我想要的结果。我通过遍历我的原始数据集并使用“worksheet.write”将它们添加进去来创建它们,因此我希望将工作表作为一个整体添加。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多