python 使用xlsxwriter包實現excel處理

在python中處理excel十分的方便,前面我們已經瞭解了一種處理excel的python包openpyxl了,具體瞭解詳見:https://www.wj0511.com/site/detail.html?id=443

這裏我們再來簡單的瞭解下另一種處理excel文件十分好用的包xlsxwriter

文檔地址:https://xlsxwriter.readthedocs.io/contents.html

一:安裝xlsxwriter

pip install xlsxwriter

二:xlsxwriter包的簡單使用

如:

# -*- coding: utf-8 -*-
import xlsxwriter
data = [
    ['年度', '數量', '剩餘數量'],
    ['2016', '100', '30'],
    ['2017', '150', '50'],
    ['2018', '170', '40'],
    ['2019', '190', '15'],
    ['2020', '200', '100'],
]
wb  = xlsxwriter.Workbook('test.xlsx') #創建一個新的excel表格
sheet = wb.add_worksheet('sheet1') #創建一個新的sheet
# 將data數組的數據插入到excel表格中
for row,item in enumerate(data):
    for colume, value in enumerate(item):
        sheet.write(row, colume, value)
wb.close()

如上就可以將data數組的數據插入到excel表格中,根據上面的代碼生成的test.xlsx文件內容如下:

image.png

我們還可以給excel表格設置樣式,給表格設置樣式使用到了add_format方法,如在插入excel表格數據之前加上:

# 增加樣式配置
bold = wb.add_format({
    'bold': True, #字體加粗
    'border': 1,  # 單元格邊框寬度
    'align': 'left',  # 水平對齊方式
    'valign': 'vcenter',  # 垂直對齊方式
    'fg_color': 'black',  # 單元格背景顏色
    'text_wrap': True,  # 是否自動換行
    'font_color': 'red', #文字顏色
})

然後在執行sheet.write函數的第四個參數加上bold參數即可,如:

sheet.write(row, colume, value, bold)

生成的excel內容如下:

image.png

三:按行插入數據

xlsxwriter包中我們可以按照行進行插入數據,具體使用的方法爲:

sheet.write_row()

簡單實例如下:

# -*- coding: utf-8 -*-
import xlsxwriter
data1 = ['年份','數量','剩餘數量']
data2 = ['2013','100','50']
wb  = xlsxwriter.Workbook('test.xlsx')
sheet = wb.add_worksheet('sheet1')
sheet.write_row('A1',data1)
sheet.write_row('A2',data2)
wb.close()

根據如上生成的excel內容如下:

image.png

四:按列插入數據

xlsxwriter包中我們可以按照列進行插入數據,具體使用的方法爲:

sheet.write_column()

簡單實例如下:

# -*- coding: utf-8 -*-
import xlsxwriter
data1 = ['年份','2013','2014']
data2 = ['數量','100','200']
wb  = xlsxwriter.Workbook('test.xlsx')
sheet = wb.add_worksheet()
sheet.write_column('A1',data1)
sheet.write_column('B1',data2)
wb.close()

根據如上生成的excel內容如下:

image.png

五:給excel添加圖表

xlsxwriter包中我們可以給excel插入圖表,簡單梳理如下:

# -*- coding: utf-8 -*-
import xlsxwriter
wb  = xlsxwriter.Workbook('test.xlsx') #創建新的excel
sheet = wb.add_worksheet('sheet1') #創建新的sheet
#向excel文件中插入數據
data1 = ['年份', '2013', '2014', '2015', '2016', '2017', '2018', '2019', '2020']
sheet.write_column('A1',data1)
data2 = ['數量', 100, 200, 500, 400, 500, 600, 150, 300]
sheet.write_column('B1',data2)
#設置圖表類型 ,type常見參數有:area:面積圖,bar:條形圖,column:直方圖,doughnut:環狀圖,line:折線圖,pie:餅狀圖,scatter:散點圖,radar:雷達圖,stock:箱線圖
chart = wb.add_chart({'type': 'line'})
#給圖表設置信息
chart.add_series(
    {
        'name':'發展趨勢', #設置折線名稱
        'categories':'=sheet1!$A$2:$A$9',#設置x軸信息
        'values':'=sheet1!$B$2:$B$9', #設置y軸信息
        'line':{'color':'red'} #給折線設置樣式
    }
)
chart.set_title({'name':'測試'})  #設置表頭標題
chart.set_x_axis({'name':"x軸"}) #設置x軸名稱
chart.set_y_axis({'name':'y軸'}) #設置y軸名稱
chart.set_style(1)
sheet.insert_chart('A10',chart,{'x_offset':25,'y_offset':10})   #放置圖表位置
wb.close()

根據如上excel內容如下:

image.png

以上就是xlsxwriter包的常見用法,具體教程我們可以參考xlsxwriter包的官方文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章