溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用openpyxl操作Excel

發(fā)布時(shí)間:2020-07-07 05:43:06 來源:網(wǎng)絡(luò) 閱讀:877 作者:dscp_linux 欄目:編程語言

1.Workbook對象

Workbook相當(dāng)于是一個(gè)文件,WorkSheet就是文件里面的每個(gè)具體的表,比如新建Excel文件里面的'Sheet1'這個(gè),一個(gè)Workbook里面有一個(gè)或多個(gè)WorkSheet.

1.1?獲取Workbook對象

兩種方式

(1)新建對象:

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

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

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)? ? ? ? ? ? 返回當(dāng)前默認(rèn)選中的WorkSheet
print(wb.sheetnames)??返回所有WorkSheet的列表,類型為list

使用openpyxl操作Excel

1.3 Workbook方法
get_sheet_names():? 同sheetnames

get_active_sheet():? ?同active屬性

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

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

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

使用openpyxl操作Excel使用openpyxl操作Excel

2 ?worksheet對象

2.1 獲取worksheet對象

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

ws2 = wb.create_sheet() ?# 創(chuàng)建一個(gè)WorkSheet,可傳title和index兩個(gè)參數(shù),不傳生成的WorkSheet名在'Sheet'后面遞增加數(shù)字。

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

2.2 worksheet屬性

rows: 返回所有有效數(shù)據(jù)行,有數(shù)據(jù)時(shí)類型為generator,無數(shù)據(jù)時(shí)為tuple

columns:返回所有有效數(shù)據(jù)列,類型同rows

max_column:有效數(shù)據(jù)最大列

max_row:有效數(shù)據(jù)最大行

min_column:有效數(shù)據(jù)最小列,起始為1

min_row:有效數(shù)據(jù)最大行,起始為1

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

title:WorkSheet的名稱

2.3 worksheet方法

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

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

3?操作cell

3.1 獲取cell對象

(1)使用WorkSheet的Cell方法

c1=ws.cell(1,1)

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

使用openpyxl操作Excel?2通過坐標(biāo)獲取Cell

c3=ws['A1']# 獲取多個(gè)

c3=ws['A1:A3'] ?#返回多行數(shù)據(jù),類型為tuple

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

使用openpyxl操作Excel?3.2 設(shè)置Cell的值

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

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

(2)設(shè)置Cell對象value屬性

c1=ws.cell('A1')

c1.value=100

3.3?Cell屬性

column:所在列,起始為1

row:所在行,起始為1

coordinate: 所在坐標(biāo),如'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)


?


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI