XlsxWriter簡介
XlsxWriter是一個Python模塊,可用於在Excel 2007+ XLSX文件中寫入多個工作表的文本,數字,公式和超鏈接。它支持格式化等功能。可到官網了解更多詳情,官網鏈接:https://xlsxwriter.readthedocs.io/
安裝XlsxWriterd
pip install XlsxWriter
1
實例1:創建一個xlsx文件,並寫入內容
import xlsxwriter
# 創建工作簿並添加工作表
workbook = xlsxwriter.Workbook('demo1.xlsx')
worksheet = workbook.add_worksheet()
# 寫入數據到A1
worksheet.write('A1', 'Hello world')
# 關閉excel文件
workbook.close()
實例2:xlsx的的簡單應用
假設我們有一些關於我們想要轉換為Excel XLSX文件的月度支出的數據:
expenses = (
['Rent', 1000],
['Gas', 100],
['Food', 300],
['Gym', 50],
)
要做到這一點,我們可以從一個小程序開始,如下所示:
import xlsxwriter
# 創建工作簿並添加工作表。
workbook = xlsxwriter.Workbook('Expenses01.xlsx') # 設置輸出路徑為當前目錄下
worksheet = workbook.add_worksheet()
# 下面是我們想要寫入工作表的一些數據。
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')
worksheet.write(row, 1, '=SUM(B1:B4)')
# 不要忘記關閉文件
workbook.close()
運行程序后,我們可以在剛剛設置的目錄下找到‘Expenses01.xlsx’文件。
Expenses01.xlsx 打開后如下圖所示:
實例3:向xlsx文件添加格式
在上一節中,我們使用Python和XlsxWriter模塊創建了一個簡單的電子表格。
這將所需的數據轉換為Excel文件,但看起來有點光鮮。為了使信息更清晰,我們想添加一些簡單的格式,如下所示:
重點觀察注釋部分即可,大部分代碼與實例2相同,對比實例2與實例三的異同
import xlsxwriter
workbook = xlsxwriter.Workbook('Expenses02.xlsx')
worksheet = workbook.add_worksheet()
# 使用add_fromat方法設置單元格的格式
bold = workbook.add_format({'bold': True}) # 添加粗體格式
money = workbook.add_format({'num_format': '$#,##0'}) # 添加數字格式
# 在worksheet的write方法中的第三個參數寫上剛剛設置的格式參數,即可為單元格填充格式
worksheet.write('A1', 'Item', bold) # 設置標題欄為粗體
worksheet.write('B1', 'Cost', bold)
expenses = (
['Rent', 1000],
['Gas', 100],
['Food', 300],
['Gym', 50],
)
row = 1
col = 0
for item, cost in (expenses):
worksheet.write(row, col, item)
worksheet.write(row, col + 1, cost, money) # 設置數字格式
row += 1
worksheet.write(row, 0, 'Total', bold)
worksheet.write(row, 1, '=SUM(B2:B5)', money)
workbook.close()
1、xlsxwriter模塊的簡單使用:
xlsxwriter模塊主要用來生成excel表格,插入數據、插入圖標等表格操作。
1.1 基本功能
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
import
xlsxwriter
#導入模塊
workbook
=
xlsxwriter.Workbook(
'new_excel.xlsx'
)
#新建excel表
worksheet
=
workbook.add_worksheet(
'sheet1'
)
#新建sheet(sheet的名稱為"sheet1")
headings
=
[
'Number'
,
'testA'
,
'testB'
]
#設置表頭
data
=
[
[
'2017-9-1'
,
'2017-9-2'
,
'2017-9-3'
,
'2017-9-4'
,
'2017-9-5'
,
'2017-9-6'
],
[
10
,
40
,
50
,
20
,
10
,
50
],
[
30
,
60
,
70
,
50
,
40
,
30
],
]
#自己造的數據
worksheet.write_row(
'A1'
,headings)
worksheet.write_column(
'A2'
,data[
0
])
worksheet.write_column(
'B2'
,data[
1
])
worksheet.write_column(
'C2'
,data[
2
])
#將數據插入到表格中
workbook.close()
#將excel文件保存關閉,如果沒有這一行運行代碼會報錯
|
查看生成excel的結果:
1.2 將excel中插入折線圖

生成圖表如下圖
2、xlsxwriter模塊常用功能介紹:
2.1、設置單元格的格式:
2.1.1、通過字典的方式直接設置格式。
1 workfomat = workbook.add_format({ 2 'bold': True, #字體加粗 3 'border':1, #單元格邊框寬度 4 'align': 'center', #對齊方式 5 'valign': 'vcenter', #字體對齊方式 6 'fg_color': '#F4B084', #單元格背景顏色 7 })
2.1.2、通過format對象的方式設置單元格格式。
1 workfomat = workbook.add_format() 2 workfomat.set_bold(1) #設置邊框寬度 3 workfomat.set_num_format('0.00') #格式化數據格式為小數點后兩位 4 workfomat.set_align('center') #設置對齊方式 5 workfomat.set_fg_color('blue') #設置單元格背景顏色 6 workfomat.set_bg_color('red') #設置單元格背景顏色 (經測試和上邊的功能一樣)
2.1.3、一些單元表的操作,像這樣的操作還有好多,可以根據自己的需要去進行研究。
1 worksheet.merge_range('D1:D7','合並單元格') #合並單元格 2 worksheet.set_tab_color('red') #設置sheet標簽顏色 3 worksheet.set_column('A:D',25) #設置A到D列的列寬為25 4 worksheet.write_formula('E2','=B2/C2') #設置表格中的計算,‘E2’是計算結果,'=B2/C2'是計算公式
2.2、常用圖表類型:
1 #area:面積圖 2 #bar:直方圖 3 #colume:柱狀圖 4 #line:折線圖 5 #pie:餅圖 6 #doughnut:環形圖 7 #sactter:散點圖 8 #stock:股票趨勢圖 9 #radar:雷達圖