python處理excel文件之xlsxwriter?模塊
模塊安裝:
pip install xlsxwriter
安裝完畢,直接在文件中進行模塊導入,測試是夠存在BUG。
import xlsxwriter
該模塊看名字就能知道其用法,它是用來向 Excel 中寫入數(shù)據(jù)的模塊,其中限制 Excel 版本為2007+。
模塊基本使用
接下來完成一個基本的流程,創(chuàng)建文件并寫入數(shù)據(jù):
import xlsxwriter
# 創(chuàng)建工作簿
workbook = xlsxwriter.Workbook('測試.xlsx')
# 添加工作表
worksheet = workbook.add_worksheet()
# 寫入hello world 到 A1 單元格
worksheet.write('A1', 'Hello World')
# 關(guān)閉Excel文件
workbook.close()代碼的流程為創(chuàng)建工作簿,創(chuàng)建工作表,寫入數(shù)據(jù)到指定單元格。
寫入更多樣式數(shù)據(jù)
上述案例是最簡單的應用,我們可以對其進行擴展,添加更多的樣式。
相關(guān)注釋已經(jīng)寫到代碼中,可以配合注釋進行學習。
import xlsxwriter
# 創(chuàng)建工作簿
workbook = xlsxwriter.Workbook('測試.xlsx')
# 創(chuàng)建工作表
worksheet = workbook.add_worksheet('測試Sheet')
# 設置單一列寬度
worksheet.set_column('A:A', 20)
# 設置加粗樣式
bold = workbook.add_format({'bold': True})
# 寫入數(shù)據(jù) A1
worksheet.write('A1', 'Hello')
# 寫入數(shù)據(jù) A2
worksheet.write('A2', 'world', bold)
# 寫入數(shù)據(jù) B1
worksheet.write('B1', u'世界你好')
workbook.close()上表中關(guān)于設置列寬的函數(shù) set_column() ,可擴展學習的函數(shù)有:
worksheet.set_column("A:B", 15):依據(jù)列名設置區(qū)域列寬度;worksheet.set_column("0:1", 15):依據(jù)索引更新列寬度;worksheet.set_row(1, 30):設置單一行高度。
其余樣式擴展
上文僅設置了一個加粗樣式,你可以對其它樣式進行配置
# 設置列頭樣式
head_format = workbook.add_format({
'bold': True, # 字體加粗
'border': 1, # 單元格邊框?qū)挾?
'align': 'left', # 對齊方式
'valign': 'vcenter', # 字體對齊方式
'fg_color': '#03A9F4', # 單元格背景顏色
'font_size': 12 # 字體大小
})除了整體配置外,也可以使用對象方法的形式進行設置,設置完畢之后的用法就是在 worksheet.write() 方法中攜帶該參數(shù)。
workfomat = workbook.add_format()
workfomat.set_bold(1) # 設置加粗
workfomat.set_border(1) # 設置邊框
workfomat.set_num_format('0.00') # 格式化數(shù)據(jù)格式為小數(shù)點后兩位
workfomat.set_align('center') # 設置水平對齊方式
workfomat.set_bg_color('#ff0000') # 設置單元格前景色
# 設置加粗樣式
bold = workbook.add_format({'bold': True})
# 寫入數(shù)據(jù) A1
worksheet.write('A1', 'Hello', workfomat)xlsxwriter 中的 write 方法
除了write()方法以外,該模塊還存在一些擴展方法,具體如下:
write_string():寫入字符串;write_number():寫入數(shù)字;write_blank():將帶有格式的空白字符寫入工作表單元格,僅保留單元格樣式。write_formula():寫入公式;write_datetime():寫入時間;write_boolean():寫入布爾值;write_url():寫入鏈接。
還有一些未羅列,可以參考下圖:

如果希望插入圖片,參考下述代碼即可:
# 插入圖片,參數(shù)1為單元格,參數(shù)2為圖片地址
worksheet.insert_image('B2','cup_PNG2001.png')xlsxwriter 關(guān)閉文件
在操作 Excel 文件之后,記住一定要關(guān)閉文件,代碼如下:
workbook.close()
其它需要了解的方法
xlsxwriter 模塊還存在一些函數(shù),很多時候可以輔助我們進行代碼編寫。
write_row(row, col, data, cell_format=None):列固定,寫入數(shù)據(jù);write_column(row, col, data, cell_format=None):行固定,寫入數(shù)據(jù);insert_textbox(row, col, text, options=None):單元格寫入文本框insert_chart(row, col, chart, options=None):插入圖表;activate():設置活躍工作表;merge_range(first_row, first_col, last_row,last_col,data, cell_format=None):合并單元格;conditional_format(first_row, first_col, last_row, last_col,options=None):條件格式;
xlsxwriter 模塊的優(yōu)缺點
優(yōu)點
寫入功能非常全 除了基本設置以外,字體設置、前景色、背景色、邊框設置、單元格合并、公式、單元格注釋、行高設置、列寬設置……
xlsxwriter支持大文件寫入 在數(shù)據(jù)量特別大的情況下,可以啟用 constant memory 模式,即可開始逐行即時寫入功能,從而避免數(shù)據(jù)一次性讀取到內(nèi)存中。
缺點
不支持讀取和修改 Excel 文件 看名字就能之后,xlsxwriter 是寫入數(shù)據(jù)的模塊,所以其不能讀取 Excel 文件。
不支持XLS文件 xlsxwriter 不支持創(chuàng)建 xls 后綴結(jié)尾的 excel 文件。
到此這篇關(guān)于python處理excel文件之xlsxwriter 模塊的文章就介紹到這了,更多相關(guān) xlsxwriter 模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用列表和字典實現(xiàn)簡單的考試系統(tǒng)詳解
這篇文章主要介紹了Python使用列表和字典實現(xiàn)簡單的考試系統(tǒng),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-01-01
Python數(shù)據(jù)分析之雙色球基于線性回歸算法預測下期中獎結(jié)果示例
這篇文章主要介紹了Python數(shù)據(jù)分析之雙色球基于線性回歸算法預測下期中獎結(jié)果,涉及Python基于線性回歸算法的數(shù)值運算相關(guān)操作技巧,需要的朋友可以參考下2018-02-02
對python中兩種列表元素去重函數(shù)性能的比較方法
今天小編就為大家分享一篇對python中兩種列表元素去重函數(shù)性能的比較方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06

