在python中添加带有for循环的新excel表
Posted
技术标签:
【中文标题】在python中添加带有for循环的新excel表【英文标题】:Add new excel sheets with a for loop in python 【发布时间】: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 工作簿。结果,里面只有一张纸。请帮忙,我完全不知道。
【问题讨论】:
【参考方案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()
【讨论】:
以上是关于在python中添加带有for循环的新excel表的主要内容,如果未能解决你的问题,请参考以下文章
Python:循环遍历 Excel 工作表,将标题信息分配给每个工作表上的列,然后合并到一个文件