如果我直接调用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的方法
答案 0 :(得分: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')