(一)簡介
安裝xlrd和xlwt兩個庫 pip install xlrd和pip install xlwt
(二)使用介紹1.解析Excel文件,獲取Book對象
2.從工作薄中獲取一張工作表的三種方法 table = book.sheets()[0] #通過索引順序獲取 table = book.sheet_by_index(0) #通過索引順序獲取 table = book.sheet_by_name(u'Sheet1')#通過名稱獲取
3.獲取行總數(shù)和列總數(shù)
4.獲取整行和整列的值 #1.獲取具體行,也可以獲取所有行數(shù)據(jù)。 table.row_values(i) #2.獲取具體列,也可以獲取所有列數(shù)據(jù)。 table.col_values(i)
5.循環(huán)遍歷獲取行和列數(shù)據(jù)
6.獲取工作表中具體單元個數(shù)據(jù) 方式一:cell_A1 = table.cell(0,0).valuecell_C4 = table.cell(2,3).value方式二:cell_A1 = table.row(0)[0].valuecell_A2 = table.col(1)[0].value
7.向工作表中寫入數(shù)據(jù)
(三)代碼演示如圖: 1.打印所有的工作表 import xlrd#1.解析Excel文件返回一個Book對象book=xlrd.open_workbook('test.xlsx')#2.調(diào)用sheets()方法,返回工作薄中的所有工作表for sheet in book.sheets(): #3.遍歷打印每張工作表的名字 print(sheet.name)
2.獲取工作表的三種方式 import xlrdbook=xlrd.open_workbook('test.xlsx')#1.通過列表的索引訪問,獲取工作表對象table01=book.sheets()[0]#2.通過工作表的排列順序table02=book.sheet_by_index(0)#3.通過工作表的名字獲取table03=book.sheet_by_name('員工信息表')
3.獲取工作表的總行數(shù)和總列數(shù)
4.獲取整行和整列的值 import xlrdxlrd.book.Book#1.返回一個Book對象book=xlrd.open_workbook('test.xlsx')table=book.sheet_by_name('員工信息表')#2.打印表格中的每一行數(shù)據(jù)for i in range(table.nrows): print(table.row_values(i))
5.獲取工作表中具體單元個數(shù)據(jù) import xlrdxlrd.book.Book#1.返回一個Book對象book=xlrd.open_workbook('test.xlsx')table=book.sheet_by_name('員工信息表')for i in range(table.nrows): #2.獲取某一列的所有行數(shù)據(jù) print(table.cell(i,3).value)
6.向已經(jīng)存在的excel文件中追加數(shù)據(jù)
代碼: import xlrdfrom xlutils.copy import copy#1.打開Excel創(chuàng)建xlrd.book.Book對象book=xlrd.open_workbook('test.xls')#2.復制Excel,返回Workbook對象workbook=copy(book)#3.獲取工作表對象sheet=workbook.get_sheet(0)#4.在指定單元格寫入數(shù)據(jù)sheet.write(4,0,'Kaina')#5.保存文件workbook.save('test.xls')
結(jié)果如圖所示: (四)使用XlsxWriter模塊向Excel寫入數(shù)據(jù)1.按照XlsxWriter模塊: pip install xlsxWriterWorkBook的一些常用方法
參考:http://xlsxwriter./workbook.html WorkSheet的一些常用方法
參考:http://xlsxwriter./worksheet.html 2.創(chuàng)建Excel并添加數(shù)據(jù)
結(jié)果演示 3.向Excel中添加樣式from xlsxwriter import Workbookfilename='test02.xlsx'workbook=Workbook(filename)worksheet=workbook.add_worksheet()#1.添加一個粗體格式來突出顯示單元格。bold=workbook.add_format({'bold':True})#2.為單元格添加數(shù)字格式。money = workbook.add_format({'num_format': '$#,##0'})#3.寫標題欄信息worksheet.write('A1', '項目', bold)worksheet.write('B1', '消費', bold)#4.向worksheet寫入一些數(shù)據(jù)expenses = ( ['租房', 1000], ['天然氣', 100], ['用餐', 300], ['健身房', 50],)#5.從標題下面的第一個單元格開始。row = 1col = 0#6.對數(shù)據(jù)進行迭代,一行一行寫入數(shù)據(jù)for item, cost in (expenses): worksheet.write(row,col,item) worksheet.write(row,col+1,cost,money) row += 1#7.使用求和公式求和worksheet.write(row,0,'總消費',bold)worksheet.write(row,1,'=SUM(B2:B5)',money)workbook.close()
結(jié)果演示 4.將不同類型的數(shù)據(jù)寫入XLSX文件。
結(jié)果演示 5.xlsxWriter模塊生成報表# encoding:utf-8# author:kaina# date:2018/2/6from xlsxwriter import Workbookworkbook=Workbook('chart.xlsx')worksheet=workbook.add_worksheet()#1.創(chuàng)建報表對象chart=workbook.add_chart({'type':'column'})#2.寫一些數(shù)據(jù)添加到圖表上data = [ [1, 2, 3, 4, 5], [2, 4, 6, 8, 10], [3, 6, 9, 12, 15],]#3.向每一列寫入數(shù)據(jù)worksheet.write_column('A1', data[0])worksheet.write_column('B1', data[1])worksheet.write_column('C1', data[2])#4.配置報表chart.add_series({'values': '=Sheet1!$A$1:$A$5'})chart.add_series({'values': '=Sheet1!$B$1:$B$5'})chart.add_series({'values': '=Sheet1!$C$1:$C$5'})#5.在工作表中插入報表worksheet.insert_chart('A7', chart)workbook.close()
結(jié)果演示: 參考:http://xlsxwriter./example_chart_simple.html |
|
來自: Four兄 > 《Python辦公》