溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

xlsxwriter模塊怎么在python 中使用

發(fā)布時(shí)間:2020-12-25 11:47:39 來(lái)源:億速云 閱讀:173 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)xlsxwriter模塊怎么在python 中使用,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

  1.workbook類

add_worksheet

  用于添加一個(gè)新的工作表,sheetname為工作表名稱,默認(rèn)是sheet1,例如:

worksheet = workbook.add_worksheet()
worksheet = workbook.add_worksheet('測(cè)試詳情')

add_format

  用于在工作表中創(chuàng)建一個(gè)新的格式對(duì)象來(lái)格式化單元格

bold = workbook.add_format({
  'bold': 1,       #字體加粗
  'fg_color': 'green',  #單元格背景顏色
  'align': 'center',   #對(duì)齊方式
  'valign': 'vcenter',  #字體對(duì)齊方式
})

add_chart

  用于在工作表中創(chuàng)建一個(gè)圖表對(duì)象,內(nèi)部通過(guò)insert_chart()方法來(lái)實(shí)現(xiàn),參數(shù)為dict類型。

chart1 = workbook.add_chart({'type':'column'}) #選擇豎狀圖

設(shè)置sheet表單元格的行高和列寬

  set_row(row, height)方法,用于設(shè)定某一行單元格的行高

  (row:指定行位置,起始下標(biāo)為0;height:為float類型,設(shè)定行高,單位像素)

  set_column(first_col, last_col, width)方法,用于設(shè)置一列或多列單元格的列寬

 ?。╥rst_col:整型,指定開(kāi)始列位置,起始下標(biāo)為0;last_col:整型,指定結(jié)束列位置,起始下標(biāo)為0;width:float類型,設(shè)置列寬)

  set_column(“first_col:last_col”, width)方法(first_col和last_col用英文字母表示列名,起始為A)

# 設(shè)置sheet表單元格列寬
ws.set_column(0,3,40) #設(shè)定第1到4列的列寬為40
ws.set_column("A:A", 40) #設(shè)定A列列寬為40
ws.set_column("B:D", 15) #設(shè)定B、C、D三列的列寬為15
ws.set_column("E:F", 50) #設(shè)定E、F列的列寬為50

#設(shè)置sheet表單元格行高
ws.set_row(0,40) #設(shè)置第一行的高度為40

向單元格中寫入內(nèi)容:write

write(row, col, data,cell_format)方法:是用來(lái)將普通數(shù)據(jù)寫入單元格中(行標(biāo)、列標(biāo)、內(nèi)容、單元格格式)

write.string():寫入字符串類型數(shù)據(jù)
wirte_number():寫入數(shù)字型數(shù)據(jù)
write_blank():寫入空類型數(shù)據(jù)
write_formula():寫入公式型數(shù)據(jù)
write_datetime():寫入日期型數(shù)據(jù)
wirte_boolean():寫入邏輯型數(shù)據(jù)
write_url():寫入超鏈接型數(shù)據(jù)

# 示例:
ws.write(1,1,"python操作excel") #在單元格1行1列中寫入:“python操作excel”

  2.chart類

  chart類實(shí)圖表組件,通過(guò)workbook的add_chart方法創(chuàng)建。

chart1 = workbook.add_chart({'type':'column'}) #選擇豎狀圖

常見(jiàn)的圖表樣式如下:

  • area:面積樣式的圖表

  • bar:條形圖

  • column:柱狀圖

  • line:線條樣式的圖表

  • pie:餅形圖

  • scatter:散點(diǎn)圖

  • stock:股票樣式的圖表

  • radar:雷達(dá)樣式的圖表

  3.實(shí)例

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = 'Yinjia'

import xlsxwriter

#生成.xlsx文件
workbook = xlsxwriter.Workbook('test_table.xlsx')
#工作頁(yè)
worksheet = workbook.add_worksheet('測(cè)試詳情')
worksheet.set_tab_color('red')

#準(zhǔn)備測(cè)試數(shù)據(jù)
bold = workbook.add_format({
  'bold': 1,       #字體加粗
  'fg_color': 'green',  #單元格背景顏色
  'align': 'center',   #對(duì)齊方式
  'valign': 'vcenter',  #字體對(duì)齊方式
})
headings = ['Number','Batch2','Batch3'] #設(shè)置表頭
data = [
  [2,3,4,5,6,7],
  [10,40,50,20,10,50],
  [30,60,70,50,40,30],
]

#插入數(shù)據(jù)
worksheet.write_row('A1',headings,bold) #行插入操作
worksheet.write_column('A2',data[0]) #列插入操作
worksheet.write_column('B2',data[1])
worksheet.write_column('C2',data[2])

#插入直方圖1
chart1 = workbook.add_chart({'type':'column'}) #選擇豎狀圖
chart1.add_series({
  'name': '=測(cè)試詳情!$B$1',
  'categories': '=測(cè)試詳情!$A$2:$A$7',
  'values':  '=測(cè)試詳情!$B$2:$B$7',#Y軸值
  'data_labels': {'value': True} #顯示數(shù)字,就是直方圖上面的數(shù)字,默認(rèn)不顯示
})

#注意上面寫法 '=Sheet1!$B$2:$B$7' Sheet1是指定工作頁(yè), $A$2:$A$7是從A2到A7數(shù)據(jù),
#插入直方圖2
chart1.add_series({
  'name': '=測(cè)試詳情!$B$1',
  'categories': '=測(cè)試詳情!$A$2:$A$7',
  'values':  '=測(cè)試詳情!$C$2:$C$7',#Y軸值
  'data_labels': {'value': True}
})

chart1.set_title({'name': 'Chart with Data Table'}) #直方圖標(biāo)題
chart1.set_x_axis({'name': 'Test number'}) #X軸描述
chart1.set_y_axis({'name': 'Sample length (mm)'})#Y軸描述
chart1.set_table() #設(shè)置x軸為數(shù)據(jù)表格式
chart1.set_style(3)#直方圖類型
worksheet.insert_chart('D2', chart1, {'x_offset': 25, 'y_offset': 10}) #直方圖插入到 D2位置
workbook.close()

  4.效果圖

xlsxwriter模塊怎么在python 中使用

以上就是xlsxwriter模塊怎么在python 中使用,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI