openpyxl的簡單使用


openpyxl的簡單使用

openpyxl

  操作excel的庫,只能操作xlxs 文件, xlrd/xlwt這兩個庫能兼容xls(2003版)

安裝

pip install openpyxl
如果excel里面有圖片,需要安裝圖片處理模塊
pip install pillow

excel的寫入

  創建一個工作簿並保存

復制代碼
from openpyxl import Workbook wb = Workbook() ws1 = wb.create_sheet("Mysheet") #默認最后一個 ws2 = wb.create_sheet("Mysheet", index=0) #第一個(工作簿位置) # 保存 wb.save('sb.xlsx')
復制代碼

  修改工作簿的名稱

ws1.title = "New Title"

  獲取所有工作簿的名稱

print(wb.sheetnames)

  獲取其中一個工作簿名稱

for sheet in wb: print(sheet) wb["New Title"] #直接獲取名稱為New Title的工作薄

  寫數據

ws['A4']=4 #這將返回A4處的單元格,如果尚不存在,則創建一個單元格。值可以直接分配 ws.cell(row=4, column=2, value=10) # 也可以通過cell來進行寫入,通過行數和列數來找到單元格所在的位置,通過value來賦值

  append函數

row = [1 ,2, 3, 4, 5]
sheet.append(row)

excel的讀取

復制代碼
from openpyxl import load_workbook #導入模塊 wb = load_workbook(filename = 'balances.xlsx') #打開文件,默認可讀寫,若有需要可以指定write_only和read_only為True sheet = wb['test2'] #找到工作表 print(sheet['B4'].value) #輸出內容 # B9處寫入平均值 sheet['B9'] = '=AVERAGE(B2:B8)' ps:在實例化wb對象時,添加參數data_only=True,返回的“B9”就是數字(但是需要將生成的excel手動保存一次)
復制代碼

獲取最大行,最大列

print(sheet.max_row) print(sheet.max_column)

獲取行和列

復制代碼
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)
復制代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM