本篇文章為大家展示了使用Python怎么對Excel進(jìn)行處理,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供金安網(wǎng)站建設(shè)、金安做網(wǎng)站、金安網(wǎng)站設(shè)計、金安網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、金安企業(yè)網(wǎng)站模板建站服務(wù),10年金安做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言,其最初的設(shè)計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨(dú)立的項目和大型項目。
區(qū)別:
模塊 | Excel格式支持 | |
xls | xlsx | |
xlrd | √ | √ |
xlwt | √ | × |
openpyxl | × | √ |
效率:
兩種包對小文件的讀寫速度差別不大,而面對較大文件,xlrd/xlwt速度明顯優(yōu)于openpyxl,但因?yàn)閤lwt無法生成xlsx是個硬傷,所以想要盡量提高效率又不影響結(jié)果時,可以考慮用xlrd讀取,用openpyxl寫入。
1.獲取工作簿對象:xlrd.open_workbook()
workBook = xlrd.open_workbook(filemname):打開Excel文件讀取數(shù)據(jù)
注:filemname為文件名以及路徑,如果路徑或者文件名有中文給前面加一個r表示原生字符。
import xlrd filename=r'D:\記錄表.xls' workBook=xlrd.open_workbook(filename)
2.獲取工作表(sheet)對象
1)獲取所有sheet頁的名字,返回一個列表
workBook.sheet_names()
2)根據(jù)sheet頁的名字獲取指定表名的表,返回的是一個對象
sheetName = workBook.sheet_by_name(‘sheet1')
3)根據(jù)sheet索引獲取對應(yīng)sheet表(索引是從0開始的),返回的是一個對象
sheetName = workbook.sheet_by_index(0)
3.獲取sheet的名稱:name
sheetName.name
4.獲取行數(shù)和列數(shù):nrows、ncols
1)獲取表格的總行數(shù)
sheetName.nrows
2)獲取表格的總列數(shù)
sheetName.ncols
5.獲取整行或整列的值(數(shù)組):row_values、col_values
rows = sheetName.row_values(0) # 獲取第一行內(nèi)容,返回一個列表 cols = sheetName.col_values(0) # 獲取第一列內(nèi)容,返回一個列表
6.獲取指定單元格的值:cell(a,b).value、row(1)[0].value
sheetName.cell(1,0).value # 獲取第2行第一列的單元格數(shù)據(jù) sheetName.row(1)[0].value # 獲取第2行第一列的單元格數(shù)據(jù)
7.獲取單元格內(nèi)容的數(shù)據(jù)類型:ctype
sheetName.cell(1,0).ctype
注:返回為代表數(shù)據(jù)類型的值,編碼分別代表:ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
1.新建工作簿:xlwt.Workbook()
workBook = xlwt.Workbook()
2.在工作簿中新建sheet頁:add_sheet()
table = workBook .add_sheet(‘Over',cell_overwrite_ok=True) # 如果對同一單元格重復(fù)操作會發(fā)生overwrite Exception,cell_overwrite_ok為可覆蓋 sheet = workBook .add_sheet(sheet_name) # 新增sheet表
import xlwt wb=xlwt.Workbook(encoding='utf-8') # 創(chuàng)建一個工作薄 sheet=wb.add_sheet('文件閱讀記錄信息表') # 創(chuàng)建一個工作表
3.向表格中寫入數(shù)據(jù):write(i,j,value)
sheet.write(i,j,value) # 向單元格(i,j)寫入數(shù)據(jù)value
4.保存工作簿:save()
workBook.save(path)
1、對xlsx文件進(jìn)行寫操作
1).新建工作簿:openpyxl.Workbook()
workBook = openpyxl.Workbook() # 新建工作簿
2).在工作簿中新建sheet頁:create_sheet()
sheet = workBook .create_sheet(sheet_name) # 新增sheet表:sheet_name
3).向表格中寫入數(shù)據(jù):cell(i,j,value) --索引從1計數(shù)
sheet= workBook .active # 獲得當(dāng)前活躍的工作頁,默認(rèn)為第一個工作頁 sheet.cell(i,j,value) # 向單元格(i,j)第i行第j列寫入數(shù)據(jù)value
注意:行號和列號都從1開始計數(shù),即(1,1)為第一行第一列
4).保存工作簿:save()
workBook .save(path)
2、openpyxl:對xlsx文件進(jìn)行讀操作
1).獲取工作簿對象:openpyxl.load_workbook()
workBook = openpyxl.load_workbook(filemname) # 讀取xlsx文件
注:filemname為文件名以及路徑,如果路徑或者文件名有中文給前面加一個r表示原生字符。
2).獲取工作表(sheet)對象
workBook.get_sheet_names() # 獲取所有sheet頁的名字(所有工作表名) sheetName = workBook.get_sheet_by_name(‘sheet1') # 根據(jù)sheet頁的名字獲取指定表名的表 sheetName = workBook.worksheets[0] # 根據(jù)sheet索引獲取對應(yīng)sheet表
3).獲取sheet的名稱:title
sheetName.title # 獲取sheet的名稱
4).獲取行數(shù)和列數(shù):max_row、max_column
sheetName.max_row # 獲取表格的總行數(shù) sheetName.max_column # 獲取表格的總列數(shù)
5).獲取整行或整列的值(數(shù)組):rows[i]、columns[i]
rows = sheetName.rows # 獲取每一行內(nèi)容,這是一個生成器,里面是每一行數(shù)據(jù),每一行數(shù)據(jù)由一個元組類型包裹 cols = sheetName.columns # 獲取每一列內(nèi)容,同上 sheetName.rows[0] # 獲取第一行內(nèi)容–索引從0計數(shù) sheetName.columns[0] # 獲取第一列內(nèi)容–索引從0計數(shù)
6).獲取指定單元格的值:cell(a,b).value–索引從1計數(shù)
sheetName[‘A1'].value # 獲取第1行第一(A)列的單元格數(shù)據(jù) sheetName.cell(1,1).value # 獲取第1行第一列的單元格數(shù)據(jù)
注:此處的行數(shù)和列數(shù)都是從1開始計數(shù)的,而在xlrd中是由0開始計數(shù)的
上述內(nèi)容就是使用Python怎么對Excel進(jìn)行處理,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:使用Python怎么對Excel進(jìn)行處理-創(chuàng)新互聯(lián)
分享路徑:http://jinyejixie.com/article42/deoshc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、全網(wǎng)營銷推廣、Google、網(wǎng)站維護(hù)、網(wǎng)站設(shè)計公司、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容