您好,登錄后才能下訂單哦!
本文介紹python操作excel的方法(xlsxwriter包的使用),具體內容如下
xlsxwriter包的安裝
pip install xlsxwriter
Workbook類
創建一個excel文件
filename = "test.xlsx" # Workbook代表整個電子表格文件,并且存儲在磁盤上。filename為字符串類型,表示創建的excel文件存儲路徑; wb = xlsxwriter.Workbook(filename)
創建一個sheet表:add_worksheet
add_worksheet([sheetname])方法,用于添加一個新的工作表,sheetname為工作表名稱,默認是sheet1,例如:
ws = wb.add_worksheet() #創建一個sheet1的表 ws2 = wb.add_worksheet("test") #創建一個test的表
設置sheet表單元格的行高和列寬
set_row(row, height)方法,用于設定某一行單元格的行高
(row:指定行位置,起始下標為0;height:為float類型,設定行高,單位像素)
set_column(first_col, last_col, width)方法,用于設置一列或多列單元格的列寬
(irst_col:整型,指定開始列位置,起始下標為0;last_col:整型,指定結束列位置,起始下標為0;width:float類型,設置列寬)
set_column(“first_col:last_col”, width)方法(first_col和last_col用英文字母表示列名,起始為A)
# 設置sheet表單元格列寬 ws.set_column(0,3,40) #設定第1到4列的列寬為40 ws.set_column("A:A", 40) #設定A列列寬為40 ws.set_column("B:D", 15) #設定B、C、D三列的列寬為15 ws.set_column("E:F", 50) #設定E、F列的列寬為50 #設置sheet表單元格行高 ws.set_row(0,40) #設置第一行的高度為40
向單元格中寫入內容:write
write(row, col, data,cell_format)方法:是用來將普通數據寫入單元格中(行標、列標、內容、單元格格式)
# 為了簡化不同數據類型的寫入過程,write方法已作為其他更加具體的數據類型方法的別名,如: write.string():寫入字符串類型數據 wirte_number():寫入數字型數據 write_blank():寫入空類型數據 write_formula():寫入公式型數據 write_datetime():寫入日期型數據 wirte_boolean():寫入邏輯型數據 write_url():寫入超鏈接型數據 # 示例: ws.write(1,1,"python操作excel") #在單元格1行1列中寫入:“python操作excel”
單元格常用格式
#設定整個sheet表的單元格的格式 property = { 'font_size': 11,#字體大小 'bold':True, #是否加粗 'align': 'left',#水平對齊方式 'valign': 'vcenter',#垂直對齊方式 'font_name': u'微軟雅黑', 'text_wrap': False, # 是否自動換行 } cell_format = wb.add_format(property) #在向單元格中寫入內容時,加上單元格樣式 ws.write(row,col,data,cell_format)
單元格中插入圖片
insert_image(row, col, image[, options])方法,用于插入圖片到指定的單元格,支持PNG,JPEG,BMP等多種格式。
row:行坐標,起始索引值為0;
col:列坐標,起始索引值為0;
image:string類型,是圖片路徑;
options:dict類型,是可選參數,用于指定圖片位置,如URL等信息;
# 圖片格式 img_format={ 'x_offset': 8,#水平偏移 'y_offset': 14,#垂直偏移 'x_scale': 0.18,#水平縮放 'y_scale': 0.18,#垂直縮放 'url': None, 'tip': None, 'image_data': None, 'positioning': None } # 示例: ws.insert_image(1,1,'1.png',img_format)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。