Pandas和xlsxwriter:如何在不导出数据帧的情况下创建新工作表?

问题描述 投票:0回答:1

如果我直接调用xlsxwriter模块,很容易在新文件中创建一个新工作表,并写入其单元格,例如:

import xlsxwriter
workbook = xlsxwriter.Workbook('test 1.xlsx')
wks1=workbook.add_worksheet('Test sheet')
wks1.write(0,0,'some random text')
workbook.close()

但问题是:如何使用Pandas.ExcelWriter对象创建新工作表?导出数据帧时,该对象可以创建新工作表,但如果我没有要导出的任何数据帧,该怎么办?

例如。说我已经将4个数据帧导出到4个单独的工作表中,现在我只想将一些文本写入新工作表。我找到的唯一解决方案是创建一个空数据框,导出(创建新工作表),然后写入工作表:

import pandas as pd
writer = pd.ExcelWriter('test 2 .xlsx',  engine='xlsxwriter')
df=pd.DataFrame()
df.to_excel(writer, 'new sheet', index=False, startrow=0,startcol=0)
writer.sheets['new sheet'].write(0,0,'some random text')
writer.close()

还有另外一种方法吗? add_worksheet()似乎只是工作簿类的方法,而不是ExcelWriter的方法

python pandas dataframe xlsxwriter
1个回答
1
投票

我没有看到你的方式有什么问题,但你也可以使用ExcelWriter中的XlsxWriter工作簿对象,如下所示:

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

workbook = writer.book
worksheet = workbook.add_worksheet('new sheet')
worksheet.write(0, 0, 'some random text')
© www.soinside.com 2019 - 2024. All rights reserved.