XlsxWriter的使用

各種python操作excel的工具包功能對(duì)比

xlsxwriter的基本使用

1.優(yōu)點(diǎn)

一、功能比較強(qiáng)

相對(duì)而言,這是除Excel自身之外功能最強(qiáng)的工具了。比如我就用到了它提供的:字體設(shè)置、前景色背景色、border設(shè)置、視圖縮放(zoom)、單元格合并、autofilter、freeze panes、公式、data validation、單元格注釋、行高和列寬設(shè)置等等。

二、支持大文件寫入

如果數(shù)據(jù)量非常大,可以啟用constant memory模式,這是一種順序?qū)懭肽J剑玫揭恍袛?shù)據(jù)就立刻寫入一行,而不會(huì)把所有的數(shù)據(jù)都保持在內(nèi)存中。

2.缺點(diǎn)

一、不支持讀取和修改

作者并沒有打算做一個(gè)XlsxReader來提供讀取操作。不能讀取,也就無從修改了。它只能用來創(chuàng)建新的文件。我是利用xlrd把需要的信息讀入后,用XlsxWriter創(chuàng)建全新的文件。

另外,即使是創(chuàng)建到一半Excel文件,也是無法讀取已經(jīng)創(chuàng)建出來的內(nèi)容的(信息應(yīng)該在,但是并沒有相應(yīng)的接口)。因?yàn)樗闹饕椒ㄊ莣rite而不是set。當(dāng)你在某個(gè)單元格寫入數(shù)據(jù)后,除非你自己保存了相關(guān)的內(nèi)容,否則還是沒有辦法讀出已經(jīng)寫入的信息。從這個(gè)角度看,你無法做到讀出->修改->寫回,只能是寫入->寫入->寫入。

二、不支持XLS文件

XLS是Office 2013或更早版本所使用的格式,是一種二進(jìn)制格式的文件。XLSX則是用一系列XML文件組成的(最后的X代表了XML)一個(gè)壓縮包。如果非要?jiǎng)?chuàng)建低版本的XLS文件,就請(qǐng)移步xlwt吧。

三、暫時(shí)不支持透視表(Pivot Table

3.基本操作方法

  • 創(chuàng)建excel文件
import xlsxwriter

f = xlsxwriter.Workbook()    # 創(chuàng)建excel文件

  • 創(chuàng)建工作表
worksheet1 = f.add_worksheet('操作日志')  # 括號(hào)內(nèi)為工作表表名

  • 添加工作表樣式

樣式有很多屬性,更多具體樣式請(qǐng)參考官方文檔。

bold = f.add_format({
        'bold':  True,  # 字體加粗
        'border': 1,  # 單元格邊框?qū)挾?        'align': 'left',  # 水平對(duì)齊方式
        'valign': 'vcenter',  # 垂直對(duì)齊方式
        'fg_color': '#F4B084',  # 單元格背景顏色
        'text_wrap': True,  # 是否自動(dòng)換行
    })

  • 寫入單個(gè)單元格數(shù)據(jù)
//row:行, col:列, data:要寫入的數(shù)據(jù), bold:單元格的樣式
worksheet1.write(row, col, data, bold)

  • 寫入一整行,一整列
// A1:從A1單元格開始插入數(shù)據(jù),按行插入, data:要寫入的數(shù)據(jù)(格式為一個(gè)列表), bold:單元格的樣式
worksheet1.write_row(“A1”,data,bold)

// A1:從A1單元格開始插入數(shù)據(jù),按列插入, data:要寫入的數(shù)據(jù)(格式為一個(gè)列表), bold:單元格的樣式
worksheet1.write_column(“A1”,data,bold)

  • 插入圖片
// 第一個(gè)參數(shù)是插入的起始單元格,第二個(gè)參數(shù)是圖片你文件的絕對(duì)路徑
worksheet1.insert_image('A1','f:\\1.jpg')

  • 寫入超鏈接
worksheet1.write_url(row, col, "internal:%s!A1" % ("要關(guān)聯(lián)的工作表表名"), string="超鏈接顯示的名字")

  • 插入圖表
workbook.add_chartsheet(type="")

參數(shù)中的type指的是圖表類型,圖表類型示例如下:
[area:面積圖,bar:條形圖,column:直方圖,doughnut:環(huán)狀圖,line:折線圖,pie:餅狀圖,scatter:散點(diǎn)圖,radar:雷達(dá)圖,stock:箱線圖]

  • 獲得當(dāng)前excel文件的所有工作表
workbook.worksheets()

workbook.worksheets()用于獲得當(dāng)前工作簿中的所有工作表,這個(gè)函數(shù)的存在便利了對(duì)于工作表的循環(huán)操作,如果你想在當(dāng)前工作簿的所有工作表的A1單元格中輸入一個(gè)字符創(chuàng)‘Hello xlsxwriter’,那么這個(gè)命令就派上用場(chǎng)了。

  • 關(guān)閉excel文件
workbook.close()

這個(gè)命令是使用xlsxwriter操作Excel的最后一條命令,一定要記得關(guān)閉文件。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,966評(píng)論 0 9
  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 32,302評(píng)論 2 89
  • 轉(zhuǎn)自鏈接 目錄 1.認(rèn)識(shí)NPOI 2.使用NPOI生成xls文件 2.1創(chuàng)建基本內(nèi)容 2.1.1創(chuàng)建Workboo...
    腿毛褲閱讀 11,154評(píng)論 1 3
  • 轉(zhuǎn)自鏈接 2.3.5 IF函數(shù) 2.3.6 CountIf和SumIf函數(shù) 2.3.7 Lookup函數(shù) 2.3....
    腿毛褲閱讀 13,210評(píng)論 0 0
  • 一滴墨汁落在一杯清水里,這杯水立即變色,不能喝了;一滴墨汁融在大海里,大海依然是蔚藍(lán)色的大海。為什么?因?yàn)閮烧叩亩?..
    xcy無名閱讀 370評(píng)論 0 0

友情鏈接更多精彩內(nèi)容