01 準(zhǔn)備
通常python讀取excel有兩個(gè)包,xlsxwriter和openpyxl,論單元格單獨(dú)處理,openpyxl要方便一些,論sheet的整體編輯,插入圖片,xlsxwriter能力要強(qiáng)一些,這里主要用xlsxwriter插入圖片。
1、安裝
pipinstallxlsxwriter
2、加載
先按路徑加載完整的excel, xlsxwriter.Workbook(xlsx_path),新加一個(gè)sheet頁(yè)demo3,賦值給sheet。值得注意的是,xlsxwriter主要針對(duì)新建的excel,對(duì)于要追加到已經(jīng)有的圖表中,不太合適,雖然于2016年5月13日添加了get_worksheet_by_name方法,但是只能獲取通過(guò)book.add_worksheet添加的sheet,原有的sheet讀取不到,所以需要用xlrd或openpyxl重新讀取這個(gè)excel,再追加內(nèi)容。
book=xlsxwriter.Workbook(xlsx_path)
sheet=book.add_worksheet('demo3')
02 插入圖片
1、調(diào)整單元格大小 為了合圖片與excel單元格更貼合,要按圖片大小調(diào)整單元格大小,set_row(row=1, height=128)調(diào)整行高,row從0開(kāi)始算起。set_column(firstcol=1, lastcol=1, width=128)調(diào)整列寬,firstcol第第一列,從0開(kāi)始算起,firstcol=1表示B列,這里對(duì)B2單元格進(jìn)行調(diào)整。高度和寬度的單位不一樣,但是與excel中的值是大體一致的。
#調(diào)整行高,但是高度單位與windows的是不一樣的
sheet.set_row(row=1,height=128)
sheet.set_column(firstcol=1,lastcol=1,width=128)
2、插入圖片 傳入文件路徑,sheet.insert_image()將圖片插入excel,options中可以傳入一系列參數(shù),如橫向偏移x_offset,縱向偏移y_offset,橫向縮放x_scale,縱向縮放y_scale,通常默認(rèn)為圖片左上角與單元格左上角重合,且不做縮放。
options={"x_scale":1,"y_scale":1}
sheet.insert_image(insert_location,filename=image_path,options=options)
3、保存 插入圖片可以多次操作,也可以按之前介紹的修改單元格格式,操作完成后,需要通過(guò)book.close()保存到文件。
-
Excel
+關(guān)注
關(guān)注
4文章
218瀏覽量
55518 -
代碼
+關(guān)注
關(guān)注
30文章
4780瀏覽量
68529 -
python
+關(guān)注
關(guān)注
56文章
4792瀏覽量
84631
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論