我正在尝试创建一个基本的excel报表。你知道吗
我试图显示一个数据框以及一些自定义文本/标题,而不是数据框的一部分。你知道吗
然而,我只能得到一个或另一个。我不太明白数据帧出现(workbook = writer.book
和worksheet = writer.sheets['Reports']
所需的代码的结尾。你知道吗
这是我的密码:
writer = pd.ExcelWriter('reportTemplate.xlsx', engine='xlsxwriter')
workbook = xlsxwriter.Workbook('reportTemplate.xlsx')
worksheet = workbook.add_worksheet('Reports')
# REPORT TITLE
worksheet.write('D2','Daily In-Store Report')
workbook = xlsxwriter.Workbook('reportTemplate.xlsx')
worksheet = workbook.add_worksheet('Reports')
worksheet.write('D2','Daily In-Store Report')
reportTimes = ['Day','Week','Period','Quarter','Year']
cityList = ['ontario','bayshore','ottawa','limeridge','oshawa','scarborough','sherway','massonville','gatineau',
'quebec','anjou','dix30','Fairview','laval','mtltrust','stbruno','gcapitale','stefoy','rivieres','chicoutimi','sherbrooke','canada']
# LOOP THROUGH FILES
rowNb = 4
for time in reportTimes:
# TITLE
tableTitle = time + ' report as of ...'
worksheet.write('A'+str(rowNb),tableTitle)
rowNb += 1
headRow, secondHead = createHeadings(time)
worksheet.write_row('B' + str(rowNb), headRow)
worksheet.write_row('B' + str(rowNb), secondHead)
rowNb += 2
df = pd.read_csv('fy_' + time.lower() + '.csv')
df.set_index('legacy_id',inplace=True)
df = df.reindex(cityList)
print(df)
df.to_excel(writer,sheet_name='Reports',startrow = rowNb,header=False)
workbook = writer.book
worksheet = writer.sheets['Reports']
writer.save()
由于代码是现在,它只显示数据帧
我不清楚您是否要在一个Excel文件中编写多个工作表。如果是这样的话,问题可能是你写了四次同样的报告。此外,这里有一些基本的尝试。把
df.to_excel()
放在pd.ExcelWriter()
之后。然后从for
循环中删除最后四行。最后,将writer.save()
放在for
循环结束之后。)我刚学的时候也不是很清楚。更多示例请参见this link。)编辑:这里是完全执行的代码(带有存根数据)。其中一个关键是使用
writer.sheets['Reports'] = worksheet
启用对工作表的多次写入—请参见this explanation。你知道吗相关问题 更多 >
编程相关推荐