您好,登錄后才能下訂單哦!
小編給大家分享一下python中處理excel的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Excel是我們日常工作中經常用到的辦公軟件,在處理數據和表格方面有著優異的性能,那么能不能用python來操作Excel呢?答案是肯定的,openpyxl是一個第三方庫,可以處理xlsx格式的Excel文件。
pip install openpyxl安裝。
讀取Excel文件
需要導入相關函數
from openpyxl import load_workbook # 默認可讀寫,若有需要可以指定write_only和read_only為True wb = load_workbook('pythontab.xlsx') 默認打開的文件為可讀寫,若有需要可以指定參數read_only為True。
獲取工作表--Sheet
# 獲得所有sheet的名稱 print(wb.get_sheet_names()) # 根據sheet名字獲得sheet a_sheet = wb.get_sheet_by_name('Sheet1') # 獲得sheet名 print(a_sheet.title) # 獲得當前正在顯示的sheet, 也可以用wb.get_active_sheet() sheet = wb.active
獲取單元格
# 獲取某個單元格的值,觀察excel發現也是先字母再數字的順序,即先列再行 b4 = sheet['B4'] # 分別返回 print(f'({b4.column}, {b4.row}) is {b4.value}') # 返回的數字就是int型 # 除了用下標的方式獲得,還可以用cell函數, 換成數字,這個表示B2 b4_too = sheet.cell(row=4, column=2) print(b4_too.value)
b4.column返回B, b4.row返回4, value則是那個單元格的值。另外cell還有一個屬性coordinate, 像b4這個單元格返回的是坐標B4。
獲得最大行和最大列
獲取行和列
sheet.rows為生成器, 里面是每一行的數據,每一行又由一個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)
上面的代碼就可以獲得所有單元格的數據。如果要獲得某行的數據呢?給其一個索引就行了,因為sheet.rows是生成器類型,不能使用索引,轉換成list之后再使用索引,list(sheet.rows)[2]這樣就獲取到第二行的tuple對象。
for cell in list(sheet.rows)[2]: print(cell.value)
以上是python中處理excel的方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。