【问题标题】:Add new excel sheets with a for loop in python在python中添加带有for循环的新excel表
【发布时间】:2018-03-18 10:13:12
【问题描述】:

以下问题:for 循环的每次迭代都应将新工作表添加到现有 Excel 工作簿。在同一迭代中,必须将 pandas 系列写入此工作表。最后必须有一个包含多个工作表的 excel 文件,每个工作表包含一个熊猫系列。我正在尝试:

from pandas import Series
for counter in range(n):
   sheet_name = 'Sheet%s' % counter
   series.to_frame(name = '').to_excel('output.xls', sheet_name=sheet_name)

不幸的是,这段代码每次迭代都会生成一个新的 Excel 工作簿。结果,里面只有一张纸。请帮忙,我完全不知道。

【问题讨论】:

    标签: python excel pandas for-loop


    【解决方案1】:

    根据documentation,可以传入一个已有的ExcelWriter对象:

    如果传递一个现有的 ExcelWriter 对象,那么工作表将是 添加到现有工作簿。这可以用来保存不同的 DataFrames 到一个工作簿:

    >>> writer = pd.ExcelWriter('output.xlsx')
    >>> df1.to_excel(writer,'Sheet1')
    >>> df2.to_excel(writer,'Sheet2')
    >>> writer.save()
    

    所以,这应该可行:

    from pandas import Series, ExcelWriter
    
    writer = ExcelWriter('output.xls')
    for counter in range(n):
       sheet_name = 'Sheet%s' % counter
       series.to_frame(name = '').to_excel(writer, sheet_name=sheet_name)
    
    writer.save()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-23
      • 2019-07-12
      • 1970-01-01
      • 1970-01-01
      • 2019-01-30
      • 1970-01-01
      相关资源
      最近更新 更多