最近在工做中須要用到Python來把一些內容寫入到Excel表格來生成測試報告,查閱了一些資料,今天整理以下,以便於之後查閱。
這一篇博客主要整理「寫入」到Excel表格的模塊xlsxwriter
。這個模塊能夠直接使用pip安裝。
若是是Python2:python
pip install xlsxwriter
若是是Python3:web
pip3 install xlsxwriter
實際上python中,除了xlsxwriter
模塊以外,xlwt
模塊也能夠「寫」操做Excel表格。兩個模塊的用法基本上是一致的,可是xlwt
模塊只能支持xls
格式的表格,而2007版之後的Excel表格所有都是xlsx
格式。因此我這裏仍是推薦使用xlsxwriter
模塊。bash
xlsxwriter
模塊能夠向Excel表格中寫入文本、數字和公式。同時也支持格式化、圖像、圖表、頁面設置、自動篩選、條件格式化等許多功能。svg
xlsxwriter
模塊的功能很是強大,可是它也有一個巨大的缺點:不支持「讀」Excel表格,也不能修改已經存在的Excel表格。也就是說,假如你已經用該模塊生成了一個Excel表格,後面又發現這個表格中有一個數據填錯了,那麼對不起,不能用xlsxwriter
模塊去修改這個表格,只能去從新生成這個表格。函數
用xlsxwriter
模塊建立一個Excel表格並在表格中填入數據。測試
import xlsxwriter
# 建立Excel表格helloExcel.xlsx,並添加一個sheet名叫helloSheet
# workbook指向helloExcel.xlsx,worksheet指向helloSheet
workbook = xlsxwriter.Workbook('helloExcel.xlsx')
worksheet = workbook.add_worksheet('helloSheet')
# 須要寫入的數據
expenses = (
['Rent', 1000],
['Gas', 100],
['Food', 300],
['Gym', 50],
)
row = 0
col = 0
# 按照行和列寫入數據
for item, cost in (expenses):
worksheet.write(row, col, item)
worksheet.write(row, col + 1, cost)
row += 1
worksheet.write(row, 0, 'Total')
# 調用Excel自身的公式SUM
worksheet.write(row, 1, '=SUM(B1:B4)')
# 關閉並保存表格內容
workbook.close()
workbook = xlsxwriter.Workbook('helloExcel.xlsx')
這一句建立了一個名字叫作helloExcel.xlsx
Excel表格文件。須要注意的是,Workbook()
函數必需要有參數,參數即爲Excel表格的名字。ui
worksheet = workbook.add_worksheet('helloSheet')
這一句在workbook
表格對象中建立了一個名字叫作helloSheet
的工做表。須要注意的是,add_worksheet()
函數能夠有參數,也能夠不要參數,當有參數的時候,參數就是sheet的名字,沒有參數時sheet的按照序號排列spa
worksheet = workbook.add_worksheet()
worksheet = workbook.add_worksheet('helloSheet')
worksheet = workbook.add_worksheet()
如上面的代碼,則爲
excel
worksheet.write(row, col, some_data)
write()
函數將some_data寫入到worksheet
指向的工做表的第row行,第col列。
在Excel表格中行row和列col都是從0開始,也就是說A1
單元格的座標爲(0,0)
。
還能夠這樣寫:code
worksheet.write('A1', some_data)
worksheet.write(row, col, '=SUM(B1:B4)')
從這一句能夠看出,若是咱們將須要寫入到表格的內容some_data,寫成Excel自己的公式調用也是能夠的。
workbook.close()
這一句很是關鍵,若是沒有這一句,那麼建立的Excel表格將不會被保存。