xlsxwriter 合并单元格_Python3之excel操作xlsxwriter模块
1:xlsxwriter模塊介紹? ??
xlsxwriter模塊主要用來生成excel表格(后綴名為.xlsx)文件,插入數(shù)據(jù)、插入圖標(biāo)等表格操作。寫大文件,速度快且只占用很小的內(nèi)存空間;
2:xlsxwriter模塊安裝?
pip install xlsxwriter
3:xlsxwriter模塊常用操作
3.1:創(chuàng)建工作簿,工作表
# encoding=gbkimport xlsxwriter # 創(chuàng)建工作簿workbook = xlsxwriter.Workbook('test.xlsx')#創(chuàng)建一個excel文件 # 創(chuàng)建工作表worksheet = workbook.add_worksheet('test-sheet1')#在文件中創(chuàng)建一個名為test-sheet1的sheet,不加名字默認(rèn)為sheet1worksheet2 = workbook.add_worksheet() # Sheet2worksheet3 = workbook.add_worksheet('test-sheet2')worksheet4 = workbook.add_worksheet() # Sheet4 workbook.close()3.2:設(shè)置單元格的值
3.2.1:給單個單元格賦值
# encoding=gbkimport xlsxwriter # 一:創(chuàng)建工作簿workbook = xlsxwriter.Workbook('test.xlsx')#創(chuàng)建一個excel文件 # 二:創(chuàng)建工作表worksheet1 = workbook.add_worksheet('test-sheet1')#在文件中創(chuàng)建一個名為test-sheet1的sheet,不加名字默認(rèn)為sheet1worksheet2 = workbook.add_worksheet() # Sheet2worksheet3 = workbook.add_worksheet('test-sheet2')worksheet4 = workbook.add_worksheet() # Sheet4 # 三:設(shè)置單元格的值worksheet1.write('A1', 'hello123') # 在A1單元格寫上HELLOworksheet1.write('A2', '123測試456') # 在B2上寫上中文加粗 # 使用行列方式,下標(biāo)從0開始worksheet1.write(2, 0, 100) # 第3行第1列(即A3) 寫入100worksheet1.write(3, 0, 99.8) # 第4行第1列(即A4) 寫入99.8worksheet1.write(4, 0, '=SUM(A3:A4)') # 寫上excel公式?# 合并單元格worksheet1.merge_range(1,2,3,4,'合并01')worksheet1.merge_range('C6:E7','合并02')# worksheet1.write_number:寫入數(shù)字worksheet1.write_number(5, 0, 1001) # Int or float # worksheet1.write_blank:寫入空格worksheet1.write_blank(6, 0,'xx') # 不管第三個參數(shù)是什么,都寫入空格# worksheet1.write_formula:寫入公式worksheet1.write_formula(7, 0, '=SUM(A3:A4)') # worksheet1.write_datetime:寫入時間格式from datetime import datetimedate_format = workbook.add_format({'num_format': 'yyyy-mm-dd H:M:S'})worksheet1.write_datetime(8, 0, datetime.today(),date_format ) # worksheet1.write_boolean:寫入邏輯數(shù)據(jù)worksheet1.write_boolean(9, 0,False) # worksheet1.write_url:寫入鏈接地址worksheet1.write_url(10, 0,'www.baidu.com') workbook.close()3.2.2:給多個單元格賦值
# encoding=gbkimport xlsxwriter # 一:創(chuàng)建工作簿workbook = xlsxwriter.Workbook('test.xlsx')#創(chuàng)建一個excel文件 # 二:創(chuàng)建工作表worksheet1 = workbook.add_worksheet('test-sheet1')#在文件中創(chuàng)建一個名為test-sheet1的sheet,不加名字默認(rèn)為sheet1# worksheet2 = workbook.add_worksheet() # Sheet2# worksheet3 = workbook.add_worksheet('test-sheet2')# worksheet4 = workbook.add_worksheet() # Sheet4 # # write_row 寫入lst=['12','34','56','78']worksheet1.write_row(5, 0, lst) # 把數(shù)據(jù)寫到第6行的,從第1列開始到第4列上# # write_column 寫入worksheet1.write_column(6, 0,lst) # 把數(shù)據(jù)寫到第1列,從第7行開始到第10行上 workbook.close()結(jié)果截圖:
3.3:設(shè)置格式
3.3.1:設(shè)置單元格樣式
# encoding=gbkimport xlsxwriter # 一:創(chuàng)建工作簿workbook = xlsxwriter.Workbook('test.xlsx')#創(chuàng)建一個excel文件 # 二:創(chuàng)建工作表worksheet1 = workbook.add_worksheet('test-sheet1')#在文件中創(chuàng)建一個名為test-sheet1的sheet,不加名字默認(rèn)為sheet1# worksheet2 = workbook.add_worksheet() # Sheet2# worksheet3 = workbook.add_worksheet('test-sheet2')# worksheet4 = workbook.add_worksheet() # Sheet4?# 大部分樣式如下:format = { 'font_size': 10, # 字體大小 'bold': True, # 是否粗體 # 'bg_color': '#101010', # 表格背景顏色 'fg_color': '#00FF00', 'font_color': '#0000FF', # 字體顏色 'align': 'center', # 水平居中對齊 'valign': 'vcenter', # 垂直居中對齊 # 'num_format': 'yyyy-mm-dd H:M:S',# 設(shè)置日期格式 # 后面參數(shù)是線條寬度 'border': 1, # 邊框?qū)挾? 'top': 1, # 上邊框 'left': 1, # 左邊框 'right': 1, # 右邊框 'bottom': 1 # 底邊框} style = workbook.add_format(format) # 設(shè)置樣式format是一個字典?# # write_row 寫入lst=['12','34','56','78']worksheet1.write_row(5, 0, lst,style) # 把數(shù)據(jù)寫到第6行的,從第1列開始到第4列上# # write_column 寫入worksheet1.write_column(6, 0,lst) # 把數(shù)據(jù)寫到第1列,從第7行開始到第10行上 worksheet1.write('A1',200,style) worksheet1.write(2,0,900,style) workbook.close()3.3.2:設(shè)置單元格行高,列寬
# encoding=gbkimport xlsxwriter # 一:創(chuàng)建工作簿workbook = xlsxwriter.Workbook('test.xlsx')#創(chuàng)建一個excel文件 # 二:創(chuàng)建工作表worksheet1 = workbook.add_worksheet('test-sheet1')#在文件中創(chuàng)建一個名為test-sheet1的sheet,不加名字默認(rèn)為sheet1 # 設(shè)置行寬worksheet1.set_row(0,60) # 設(shè)置列寬worksheet1.set_column(1,2,30)worksheet1.set_column('D:F',40) workbook.close()3.3.3:設(shè)置設(shè)置標(biāo)簽顏色
worksheet1.set_tab_color('#0000FF')3.4:插入圖片
# encoding=gbkimport xlsxwriter # 一:創(chuàng)建工作簿workbook = xlsxwriter.Workbook('test.xlsx')#創(chuàng)建一個excel文件 # 二:創(chuàng)建工作表worksheet1 = workbook.add_worksheet('test-sheet1')#在文件中創(chuàng)建一個名為test-sheet1的sheet,不加名字默認(rèn)為sheet1 # # 設(shè)置行寬# worksheet1.set_row(0,60)# # 設(shè)置列寬# worksheet1.set_column(1,2,30)# worksheet1.set_column('D:F',40)# worksheet1.set_tab_color('#0000FF') worksheet1.insert_image('A3', '00.jpg', {'url': 'https://blog.csdn.net/'})workbook.close()4:插入圖表
4.1:chart類
chart類,實(shí)圖表組件,支持包括面積、條形圖、柱狀圖、折線圖、散點(diǎn)圖等,一個圖表對象是通過Workbook的add_chart方法創(chuàng)建,通過{type, ‘圖表類型’}字典來制定圖表類型,常見的圖表樣式如下:
area:面積樣式的圖表
bar:條形圖
column:柱狀圖
line:線條樣式的圖表
pie:餅形圖
scatter:散點(diǎn)圖
stock:股票樣式的圖表
radar:雷達(dá)樣式的圖表
示例如下:
# 1:創(chuàng)建chart對象chart = workbook.add_chart({'type':'line'})# 2:設(shè)置chart對象相關(guān)數(shù)據(jù),屬性# 3:然后通過Worksheet的insert_chart()方法插入到指定位置worksheet1.insert_chart('A3',chart,{'x_offset':25,'y_offset':10}) #放置圖表位置4.2:chart對象常用方法
4.2.1:add_series(options)方法
用于添加一個數(shù)據(jù)系列的圖表,參數(shù)options為字典類型,用于設(shè)置圖表系列選項(xiàng)的字典,示例如下:
chart.add_series({ 'categories': '=Sheet1!$A$1:$A$5', 'values': '=Sheet1!$B$1:$B$5', 'line': {'color': 'red'}, })add_series的常用三個選項(xiàng):
categories:設(shè)置圖表類別標(biāo)簽范圍;
values:設(shè)置圖表數(shù)據(jù)范圍;
line:設(shè)置圖表線條屬性,包括寬度、顏色等;
4.2.2:set_x_axis(options)方法 與? set_y_axis(options)方法
設(shè)置圖表X軸選項(xiàng),Y軸選項(xiàng)
chart.set_x_axis({'name': 'x name', 'name_font': {'size': 14, 'bold': True} , 'num_font': {'italic': True} }) """name:設(shè)置x軸名稱;name_font:設(shè)置x軸字體;num_font:設(shè)置x軸數(shù)字字體屬性;"""4.2.3:其他方法
# set_size(options)方法,用于設(shè)置圖表大小,示例如下:chart.set_size({'width': 720, 'height': 576})# width:設(shè)置寬度;# height:設(shè)置高度; # set_title(options)方法,設(shè)置圖表標(biāo)題,示例如下:chart.set_title({'name': 'test'}) # set_style(style_id)方法,用于設(shè)置圖表樣式,style_id為不同數(shù)字代表不同樣式chart.set_style(37) # set_table(options)方法,設(shè)置x軸為數(shù)據(jù)表格式。chart.set_table()4.3:圖表示例
# encoding=gbkimport xlsxwriter # 一:創(chuàng)建工作簿workbook = xlsxwriter.Workbook('test.xlsx')#創(chuàng)建一個excel文件 # 二:創(chuàng)建工作表worksheet1 = workbook.add_worksheet('test-sheet1')#在文件中創(chuàng)建一個名為test-sheet1的sheet,不加名字默認(rèn)為sheet1 # 三:數(shù)據(jù)準(zhǔn)備row_data=['姓名','數(shù)學(xué)','英語','語文']col_data = [ ['張三','李四','老王','德華','趙四'], [90, 85, 120, 130, 99], [70, 65, 120, 109, 110], [60, 95, 130, 120, 79]] worksheet1.write_row('A1',row_data)worksheet1.write_column('A2',col_data[0])worksheet1.write_column('B2',col_data[1])worksheet1.write_column('C2',col_data[2])worksheet1.write_column('D2',col_data[3]) # 四:創(chuàng)建chart對象chart = workbook.add_chart({'type':'line'}) # 線條樣式的圖表# chart = workbook.add_chart({'type':'column'}) # 柱狀圖# chart = workbook.add_chart({'type':'area'}) # 面積樣式的圖表# chart = workbook.add_chart({'type':'stock'}) # 股票樣式的圖表# chart = workbook.add_chart({'type':'bar'}) # 條形圖# chart = workbook.add_chart({'type':'pie'}) # 餅形圖# chart = workbook.add_chart({'type':'scatter'}) # 散點(diǎn)圖# chart = workbook.add_chart({'type':'radar'}) # 雷達(dá)樣式的圖表 chart.add_series({ 'name':'=test-sheet1!$B$1', 'categories': '=test-sheet1!$A$2:$A$6', 'values': '=test-sheet1!$B$2:$B$6', 'line': {'color': 'red'}, 'pie': {'color': 'red'},}) chart.add_series({ 'name':'=test-sheet1!$C$1', 'categories': '=test-sheet1!$A$2:$A$6', 'values': '=test-sheet1!$C$2:$C$6', 'line': {'color': 'yellow'}, 'pie': {'color': 'yellow'},}) chart.add_series({ 'name':'=test-sheet1!$D$1', 'categories': '=test-sheet1!$A$2:$A$6', 'values': '=test-sheet1!$D$2:$D$6', 'line': {'color': 'blue'}, 'pie': {'color': 'blue'},}) chart.set_title({'name':'測試'})chart.set_x_axis({'name':"x軸"})chart.set_y_axis({'name':'y軸'}) #設(shè)置圖表表頭及坐標(biāo)軸 chart.set_style(1)# chart.set_style(37) worksheet1.insert_chart('B8',chart,{'x_offset':25,'y_offset':10}) #放置圖表位置 workbook.close() """官方文檔:https://xlsxwriter.readthedocs.io/chart.html"""輸出結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的xlsxwriter 合并单元格_Python3之excel操作xlsxwriter模块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: numpy 是否为零_一文看懂Numpy
- 下一篇: /opt/hbase/conf 中不能启