使用openpyxl操作Excel

1.Workbook對象

Workbook相當於是一個文件,WorkSheet就是文件裏面的每個具體的表,比如新建Excel文件裏面的'Sheet1'這個,一個Workbook裏面有一個或多個WorkSheet.

1.1 獲取Workbook對象

兩種方式

(1)新建對象:

from openpyxl import Workbook
wb = Workbook()
wb.save('C:\\Users\\Administrator\\PycharmProjects\\excel\\test.xlsx')

(2)導入已存在的對象:

from openpyxl import load_workbook
file_path = 'C:\\Users\\Administrator\\PycharmProjects\\excel\\test.xlsx'
wb = load_workbook(file_path)

1.2 Workbook屬性

print(wb.worksheets)   返回所有WorkSheet的列表,類型爲list
print(wb.active)            返回當前默認選中的WorkSheet
print(wb.sheetnames)  返回所有WorkSheet的列表,類型爲list

圖片1.png

1.3 Workbook方法
get_sheet_names():  同sheetnames

get_active_sheet():   同active屬性

get_sheet_by_name(name):  根據名稱獲取WorkSheet

remove(worksheet):   刪除一個WorkSheet,注意是WorkSheet對象,不是名字

save(filename):   保存到文件,記住有寫入操作記得保存!!!

圖片2.png圖片3.png

2  worksheet對象

2.1 獲取worksheet對象

ws1 = wb.active   # 獲取默認打開的(active)的WorkSheet

ws2 = wb.create_sheet()  # 創建一個WorkSheet,可傳title和index兩個參數,不傳生成的WorkSheet名在'Sheet'後面遞增加數字。

ws3=wb['Sheet1']  # 通過名稱獲取WorkSheet

2.2 worksheet屬性

rows: 返回所有有效數據行,有數據時類型爲generator,無數據時爲tuple

columns:返回所有有效數據列,類型同rows

max_column:有效數據最大列

max_row:有效數據最大行

min_column:有效數據最小列,起始爲1

min_row:有效數據最大行,起始爲1

values:返回所有單元格的值的列表,類型爲tuple

title:WorkSheet的名稱

2.3 worksheet方法

cell(coordinate=None, row=None, column=None, value=None)

獲取指定單元格或設置單元格的值,具體使用在cell下面介紹

3 操作cell

3.1 獲取cell對象

(1)使用WorkSheet的Cell方法

c1=ws.cell(1,1)

c2=ws.cell(row=1,column=1) #獲取A1單元格

圖片4.png 2通過座標獲取Cell

c3=ws['A1']# 獲取多個

c3=ws['A1:A3']  #返回多行數據,類型爲tuple

注意此處獲取的不是單元格的值。

圖片5.png 3.2 設置Cell的值

(1)直接使用WorkSheet的cell方法設置

ws.cell(row=1,column=1,value=10)

(2)設置Cell對象value屬性

c1=ws.cell('A1')

c1.value=100

3.3 Cell屬性

column:所在列,起始爲1

row:所在行,起始爲1

coordinate: 所在座標,如'A1'

parent: 所屬的WorkSheet

value: 單元格的值

3.4 Cell方法

offset(row=0, column=0): 偏移

# -*- coding:utf-8 -*-
import os
from openpyxl import Workbook
from openpyxl import load_workbook
file_path = 'C:\\Users\\Administrator\\PycharmProjects\\excel\\test.xlsx'
if os.path.exists(file_path):
   print("excel file exist")
else:
   wb = Workbook()
   wb.create_sheet('Sheet1')#新建sheet頁
   wb.save(file_path)
   
"""
a = wb.worksheets
b = wb.active
c = wb.sheetnames
d = wb.get_active_sheet
e = wb.get_sheet_names
f = wb.get_sheet_by_name
"""
wb = load_workbook(file_path)  #加載workbook對象
ws = wb.active
ws.cell(row=1, column=1, value=10) #寫入單元格
ws.cell(row=2, column=1, value=10)
ws.cell(row=3, column=1, value=10)
wb.save(file_path)  #保存文件
a1 = ws.cell(1, 1)
    
print(a1.column, a1.row, a1.value, a1.parent)
a2 = ws.cell(row=1, column=1)
print(a2.column, a2.row, a2.value, a2.parent)
a3 = ws['A1:A3']
print(a3)


 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章