python xlsxwriter模塊的使用
1.workbook類
add_worksheet
用於添加一個新的工作表,sheetname為工作表名稱,默認是sheet1,例如:
worksheet = workbook.add_worksheet() worksheet = workbook.add_worksheet('測試詳情')
add_format
用於在工作表中創建一個新的格式對象來格式化單元格
bold = workbook.add_format({ 'bold': 1, #字體加粗 'fg_color': 'green', #單元格背景顏色 'align': 'center', #對齊方式 'valign': 'vcenter', #字體對齊方式 })
add_chart
用於在工作表中創建一個圖表對象,內部通過insert_chart()方法來實現,參數為dict類型。
chart1 = workbook.add_chart({'type':'column'}) #選擇豎狀圖
設置sheet表單元格的行高和列寬
set_row(row, height)方法,用於設定某一行單元格的行高
(row:指定行位置,起始下標為0;height:為float類型,設定行高,單位像素)
set_column(first_col, last_col, width)方法,用於設置一列或多列單元格的列寬
(irst_col:整型,指定開始列位置,起始下標為0;last_col:整型,指定結束列位置,起始下標為0;width:float類型,設置列寬)
set_column(“first_col:last_col”, width)方法(first_col和last_col用英文字母表示列名,起始為A)
# 設置sheet表單元格列寬 ws.set_column(0,3,40) #設定第1到4列的列寬為40 ws.set_column("A:A", 40) #設定A列列寬為40 ws.set_column("B:D", 15) #設定B、C、D三列的列寬為15 ws.set_column("E:F", 50) #設定E、F列的列寬為50 #設置sheet表單元格行高 ws.set_row(0,40) #設置第一行的高度為40
向單元格中寫入內容:write
write(row, col, data,cell_format)方法:是用來將普通數據寫入單元格中(行標、列標、內容、單元格格式)
write.string():寫入字符串類型數據 wirte_number():寫入數字型數據 write_blank():寫入空類型數據 write_formula():寫入公式型數據 write_datetime():寫入日期型數據 wirte_boolean():寫入邏輯型數據 write_url():寫入超鏈接型數據 # 示例: ws.write(1,1,"python操作excel") #在單元格1行1列中寫入:“python操作excel”
2.chart類
chart類實圖表組件,通過workbook的add_chart方法創建。
chart1 = workbook.add_chart({'type':'column'}) #選擇豎狀圖
常見的圖表樣式如下:
- area:面積樣式的圖表
- bar:條形圖
- column:柱狀圖
- line:線條樣式的圖表
- pie:餅形圖
- scatter:散點圖
- stock:股票樣式的圖表
- radar:雷達樣式的圖表
3.實例
#!/usr/bin/env python # _*_ coding:utf-8 _*_ __author__ = 'Yinjia' import xlsxwriter #生成.xlsx文件 workbook = xlsxwriter.Workbook('test_table.xlsx') #工作頁 worksheet = workbook.add_worksheet('測試詳情') worksheet.set_tab_color('red') #準備測試數據 bold = workbook.add_format({ 'bold': 1, #字體加粗 'fg_color': 'green', #單元格背景顏色 'align': 'center', #對齊方式 'valign': 'vcenter', #字體對齊方式 }) headings = ['Number','Batch1','Batch2'] #設置表頭 data = [ [2,3,4,5,6,7], [10,40,50,20,10,50], [30,60,70,50,40,30], ] #插入數據 worksheet.write_row('A1',headings,bold) #行插入操作 worksheet.write_column('A2',data[0]) #列插入操作 worksheet.write_column('B2',data[1]) worksheet.write_column('C2',data[2]) #插入直方圖1 chart1 = workbook.add_chart({'type':'column'}) #選擇豎狀圖 chart1.add_series({ 'name': '=測試詳情!$B$1', 'categories': '=測試詳情!$A$2:$A$7', 'values': '=測試詳情!$B$2:$B$7',#Y軸值 'data_labels': {'value': True} #顯示數字,就是直方圖上面的數字,默認不顯示 }) #註意上面寫法 '=Sheet1!$B$2:$B$7' Sheet1是指定工作頁, $A$2:$A$7是從A2到A7數據, #插入直方圖2 chart1.add_series({ 'name': '=測試詳情!$B$1', 'categories': '=測試詳情!$A$2:$A$7', 'values': '=測試詳情!$C$2:$C$7',#Y軸值 'data_labels': {'value': True} }) chart1.set_title({'name': 'Chart with Data Table'}) #直方圖標題 chart1.set_x_axis({'name': 'Test number'}) #X軸描述 chart1.set_y_axis({'name': 'Sample length (mm)'})#Y軸描述 chart1.set_table() #設置x軸為數據表格式 chart1.set_style(3)#直方圖類型 worksheet.insert_chart('D2', chart1, {'x_offset': 25, 'y_offset': 10}) #直方圖插入到 D2位置 workbook.close()
4.效果圖
作者:YinJia
出處:http://www.cnblogs.com/yinjia/
以上就是python xlsxwriter模塊的使用的詳細內容,更多關於python xlsxwriter模塊的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- python處理excel文件之xlsxwriter 模塊
- 如何用python合並多個excel文件
- python 使用xlsxwriter循環向excel中插入數據和圖片的操作
- Python如何實現Excel的最合適列寬(openpyxl)
- python 根據excel中顏色區分讀取的操作