這篇文章給大家分享的是有關(guān)python打開excel文件的方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司是專業(yè)的漾濞網(wǎng)站建設(shè)公司,漾濞接單;提供做網(wǎng)站、網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行漾濞網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
openpyxl是一個第三方庫,可以處理xlsx格式的Excel文件。pip install openpyxl安裝。
讀取Excel文件
需要導(dǎo)入相關(guān)函數(shù)
from openpyxl import load_workbook # 默認(rèn)可讀寫,若有需要可以指定write_only和read_only為True wb = load_workbook('pythontab.xlsx') 默認(rèn)打開的文件為可讀寫,若有需要可以指定參數(shù)read_only為True。
獲取工作表--Sheet
# 獲得所有sheet的名稱 print(wb.get_sheet_names()) # 根據(jù)sheet名字獲得sheet a_sheet = wb.get_sheet_by_name('Sheet1') # 獲得sheet名 print(a_sheet.title) # 獲得當(dāng)前正在顯示的sheet, 也可以用wb.get_active_sheet() sheet = wb.active
python學(xué)習(xí)網(wǎng),免費的python學(xué)習(xí)網(wǎng)站,歡迎在線學(xué)習(xí)!
獲取單元格
# 獲取某個單元格的值,觀察excel發(fā)現(xiàn)也是先字母再數(shù)字的順序,即先列再行 b4 = sheet['B4'] # 分別返回 print(f'({b4.column}, {b4.row}) is {b4.value}') # 返回的數(shù)字就是int型 # 除了用下標(biāo)的方式獲得,還可以用cell函數(shù), 換成數(shù)字,這個表示B2 b4_too = sheet.cell(row=4, column=2) print(b4_too.value)
b4.column返回B, b4.row返回4, value則是那個單元格的值。另外cell還有一個屬性coordinate, 像b4這個單元格返回的是坐標(biāo)B4。
獲得最大行和最大列
獲取行和列
sheet.rows為生成器, 里面是每一行的數(shù)據(jù),每一行又由一個tuple包裹。
sheet.columns類似,不過里面是每個tuple是每一列的單元格。
# 因為按行,所以返回A1, B1, C1這樣的順序 for row in sheet.rows: for cell in row: print(cell.value) # A1, A2, A3這樣的順序 for column in sheet.columns: for cell in column: print(cell.value)
上面的代碼就可以獲得所有單元格的數(shù)據(jù)。如果要獲得某行的數(shù)據(jù)呢?給其一個索引就行了,因為sheet.rows是生成器類型,不能使用索引,轉(zhuǎn)換成list之后再使用索引,list(sheet.rows)[2]這樣就獲取到第二行的tuple對象。
for cell in list(sheet.rows)[2]: print(cell.value)
感謝各位的閱讀!關(guān)于python打開excel文件的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!