1. to_excel
在pandas中我们通常使用to_excel()
方法将dataframe导出至Excel文件上,路径
为必填参数,sheet_name
为可选参数,当多个内容写到一张表中
时,可以设置开始的行数startrow=13
。
需要注意的是startrow是从0开始的
data.to_excel('路径',sheet_name='')
2. pd.ExcelWriter
如果需要将多个不同的dataframe导出到同一个Excel文件的不同Sheet
页,可以使用pandas.ExcelWriter()类
来实现。
writer=pd.ExcelWriter('Logistic Performance Table{}.xlsx'.format(
time.ctime()).replace(':','-'))
1.将输出的数据导入到excel的sheet名为Model Summary的表中
model_summary().to_excel(writer,'Models Smmary')
2. 将data存到第二张表test中
data.to_excel(writer,'test')
或者是
df1 = pd.DataFrame([["AAA", "BBB"]], columns=["Spam", "Egg"])
df2 = pd.DataFrame([["ABC", "XYZ"]], columns=["Foo", "Bar"])
with pd.ExcelWriter("path_to_file.xlsx") as writer:
df1.to_excel(writer, sheet_name="Sheet1")
df2.to_excel(writer, sheet_name="Sheet2")
- 写入现有文件
其中mode
变成a,默认为w,a表示add即追加
,engine表示为openpyxl
with pd.ExcelWriter("path_to_file.xlsx", mode="a", engine="openpyxl") as writer:
df.to_excel(writer, sheet_name="Sheet3")
3. 定制化输出Excel格式
workbook=writer.book
创建工作簿sheet=writer.sheets
创建工作表
有了工作簿和表之后就可以对工作簿的格式进行设计,workbook的方法包括add_format()
即增加样式,用字典的格式写入。主要包括- bg_color 背景颜色
- font_color 字体颜色
align
水平对齐方式- bold(bool) 是否加粗
text_wrap
是否自动换行- fg_color 单元格背景颜色
- border:number 单元格边框宽度
- 修改格式
worksheet.set_columns
(第几列,cell_format=列单元格格式)worksheet.set_rows
(第几行(0行即表头),cell_format=行单元格式)
workbook1 = writer.book
worksheets = writer.sheets
worksheet1 = worksheets['Sheet1']
format1 = workbook1.add_format({'bg_color': '#FFC7CE', 'font_color': '#9C0006'})
format2 = workbook1.add_format({'bold': True, 'align': 'left', 'valign': 'top', 'text_wrap': True})
4. 向表中写入数据
-
sheet.write(row,col,data,[format])
其实startrow可以直接设为1,因为它是从0开始的,因此我在第一行添加字符并不会受startrow=1的影响
writer=pd.ExcelWriter('pt_test-{}.xlsx'.format(time.ctime()).replace(':','-'))
pt.to_excel(writer,sheet_name='model_pt',startrow=2)
workbook=writer.book
sheet=writer.sheets['model_pt']
sheet.write('A1','Train_data:')
sheet.write('A12','Test_data:')
writer.close()
结果表示如下:注意添加的字符以及sheet的名称
5. 插入图片
对sheet进行图片的插入,方法为insert_image,参数包括
- row(int)
单元格所在的行,索引从0开始
- col
单元格所在列
- image
图片的路径、文件名
- options(dict)
图片的位置,缩放(x_scale y_scale)
,url参数,注意这里是以字典的形式写入的
sheet.insert_image(1,18,'.roc_train.png',{'x_scale':0.9,'y_scale':1})
其中后面的可选参数的参数为一下选项:
{
'x_offset':0,'y_offset':0,
'x_scale':1,'y_scale':1,
'url':none
}
6. 存储图片
- 图片.savefig(路径)
plot_roc(train,y_col).savefig('.roc_train.png')