日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

openpyxl模块_Openpyxl让Excel飞(一)

發(fā)布時間:2025/3/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 openpyxl模块_Openpyxl让Excel飞(一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

openpyxl?庫簡介及安裝

openpyxl是一個開源的Excel文件處理庫,可以用于處理Excel 2010版及以后的文件(官網(wǎng)說法,實際好像2007版Excel文件也可以處理,只要是后綴名為.xlsx、.xlsm、xltx)。

基本上,使用openpyxl 可以進行Excel絕大部分操作。主要常用功能有以下:

  • 新建、加載、保存xlsx表格

  • 工作表sheet的操作

  • 單元格操作

  • 行列操作

  • 格式設(shè)置

  • 圖表應(yīng)用

  • 打印設(shè)置

  • 結(jié)合numpy或Pandas使用

openpyxl的安裝,使用pip 進行安裝即可,安裝的命令如下:

pip?install?openpyxl

如果不太了解pip 安裝python庫,可以參考以下文章:

Python 庫管家----pip

openpyxl Excel文件及sheet工作表操作

建議在Pycharm中嘗試以下功能,新建一個python文件,并使用以下代碼導(dǎo)入openpyxl庫。

from openpyxl import Workbookfrom?openpyxl?import?load_workbook?#使用load_workbook需要用到這部分功能

新建表格(此時并未保存表格,wb為變量名)

wb = Workbook()

加載現(xiàn)有表格

wb = load_workbook('Excel name.xlsx')#如果Excel名前未加文件路徑,則默認(rèn)在相應(yīng)python project路徑下尋找同名表格加載#如果是加上路徑,則是加載指定下路徑的Excel表格

保存表格

wb.save('Excel name.xlsx')#如果需要更換位置保存,則在Excel名前加入路徑,例如'C:\Excel name.xlsx'

將當(dāng)前激活的sheet工作表定義為ws(變量名)

ws = wb.active#假設(shè)現(xiàn)在打開Excel name.xlsx是Sheet1處于編輯狀態(tài),則wb.active選擇的是Sheet1#如果Sheet2處于編輯狀態(tài),則wb.active選擇的是Sheet2

通過指定sheet工作表定義ws

ws?=?wb["Sheet2"]#將Sheet2定義為ws

創(chuàng)建sheet 工作表

ws = wb.create_sheet("NewSheet", 0)#括弧內(nèi)0指創(chuàng)建的新工作表位置,0表示第一張sheet工作表。#如果有同名sheet,也會新建,但新建的sheet名后會加數(shù)字1,如NewSheet1

獲取所有sheet工作表名

sheetname = wb.sheetnames#wb.sheetnames 可以獲取表格wb中所有的sheet工作表。并儲存為列表sheetname

通過指定sheetname 列表定義ws

sheetname = wb.sheetnamesws?=?wb[sheetname[0]]

修改sheet工作表名

ws.title = "UpdateTitle"#sheet名可以通過title屬性進行更改

刪除sheet工作表

wb.remove(ws)

更改sheet工作表欄顏色

ws.sheet_prperties.tabColor = "2A22AB"#2A22AB為十六進制數(shù)字,代表RGB三原色。

單元格操作

單元格賦值?(一)

ws['A1'] = 10 #在A1單元格輸入數(shù)字10ws['A2']?=?'Trial'???#在A2單元格輸入文本'Trial'

單元格賦值?(二)

ws.cell(row?=1,?column?=?2).value?=?"IT"?#給第一行第二列賦值文本'IT'

單元格賦值?(三)

ws.cell(row=1,?column=1,?value='Trial')?#給第一列第一行單元格賦值'Trial'

單元格賦值?(四)

ws.cell(2,1,99)?#給第二行第一列單元格賦值99

獲取單元格值(一)

cellvalue?=?ws['A1'].value??#value?屬性可以獲取單元格的值,將'A1'單元格的值賦值給cellvalueprint(ws['A1']) #打印單元格信息,不是單元格的值print(cellvalue)?#打印'A1'單元格值,下圖為基于”單元格賦值(一)“代碼結(jié)果

獲取單元格值(二)

cellvalue = ws.cell(row=1,column=1).valueprint(ws.cell(row=1,column=1)) #打印單元格信息,不是單元格的值print(cellvalue)?#打印第一行第一列單元格值,下圖為基于”單元格賦值(三)“代碼結(jié)果

獲取單元格值(三)

cellvalue = ws.cell(2,1).valueprint(ws.cell(2,1)) #打印單元格信息,不是單元格的值print(cellvalue) #打印第二行第一列單元格值,下圖為基于”單元格賦值(四)“代碼結(jié)果

單元格輸入公式

ws['A1'] = '=SUM(2,2)' #A1單元格輸入Excel SUM函數(shù),求2+2的和ws['A2']?=?'=A1&"ABC"'?#A2單元格輸入Excel?&函數(shù),求A1單元格文本與“ABC”合并后結(jié)果

PS:如果打印有公式的單元格的值,只會是打印公式的內(nèi)容,而不是公式計算出來的值,目前暫時還無法從程序中直接獲取計算后的值。如打印上面例子中A1單元格的值,就還是公式內(nèi)容。

獲取單元格的所在行數(shù)

cellrow = cell.row

獲取單元格的所在列數(shù)

cellcol = cell.column

獲取單元格的所在Excel坐標(biāo)

cellcoordinate = cell.coordinate

多個單元格賦值(一)

for?i?in?range?(1,6):??? for j in range (1,5):????????ws.cell(i,j).value?=?i+j?#給從第一行到第五行中的第一列到第四列的單元格中賦值

#for x in range(m,n):是一個非常常用而且簡單的循環(huán)語句,基本用法可以參照上面程序

多個單元格操作(二)----iter_rows函數(shù)

for row in ws.iter_rows(min_row=1, max_col=3, max_row=3): #定義行列范圍 for cell in row: print(cell) #輸出單元格信息 cell.value = cell.row + cell.column #將單元所在的行數(shù)與列數(shù)之和賦值給單元格

從打印的單元格信息可以看出,iter_rows函數(shù)是逐行處理數(shù)據(jù),第一行的數(shù)據(jù)處理完后,再處理第二行。

多個單元格操作(三)----iter_cols函數(shù)

for col in ws.iter_cols(min_col=1, max_row=3, max_col=3): #定義行列范圍 for cell in col: print(cell) #輸出單元格信息 cell.value = cell.row + cell.column #將單元所在的行數(shù)與列數(shù)之和賦值給單元格

從打印的單元格信息可以看出,iter_cols函數(shù)是逐列處理數(shù)據(jù),第一列的數(shù)據(jù)處理完后,再處理第二列。

實例

寫一個簡單的實例,創(chuàng)建一個Excel表格,然后在表格中分別創(chuàng)建三個sheet 工作表,并給sheet工作表中單元格賦值。以下是代碼:

from openpyxl import Workbook #從openpyxl 庫中導(dǎo)入Workbook模塊import os #導(dǎo)入os 庫,python標(biāo)準(zhǔn)庫不需要安裝wb = Workbook() #新建表格ws1 = wb.active #定義ws1ws1.title = "trial 1"for col in ws1.iter_cols(min_col=1, max_row=3, max_col=3): #定義行列范圍 for cell in col: cell.value = cell.row #將單元所在的行數(shù)與列數(shù)之和賦值給單元格ws2 = wb.create_sheet("Trial 2", 1) #創(chuàng)建ws2for row in ws2.iter_rows(min_row=1, max_col=3, max_row=3): #定義行列范圍 for cell in row: cell.value = cell.coordinate #將單元所在的坐標(biāo)賦值給單元格ws3 = wb.create_sheet("Trial 3", 2) #創(chuàng)建ws3for i in range (1,6): for j in range (1,5): ws3.cell(i,j).value = i+j #給從第一行到第五行中的第一列到第四列的單元格中賦值wb.save('D:\Trial.xlsx') #保存表格os.startfile('D:\Trial.xlsx') #打開上一步保存的表格

To Be?Continued

關(guān)注公眾號”Start Python“,一起學(xué)習(xí)Python開發(fā)

總結(jié)

以上是生活随笔為你收集整理的openpyxl模块_Openpyxl让Excel飞(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品久久久久久久久久免费看 | 黄色不雅视频 | 中文字幕在线观看不卡 | 五月婷婷六月天 | 九九热视频免费 | 国产精品性爱在线 | 春色影视| 欧美爱爱爱 | 国产亚洲在线 | 亚洲免费视频网 | 99综合视频 | 成人免费小视频 | 亚洲国产精品福利 | 欧美日韩在线中文字幕 | 国产哺乳奶水91在线播放 | 国产在线一区二区三区 | 免费看黄色三级三级 | 天天在线免费视频 | 中文字幕第一区综合 | 日韩激情四射 | 成人a√| 日韩大片在线 | 亚洲国产免费看 | 老司机精品视频在线播放 | 特级黄色一级片 | 激情拍拍拍 | 在线免费小视频 | 国产黄色一级大片 | 久久久久看片 | 亚洲成年人在线 | 成人免费视频网站在线看 | 打开每日更新在线观看 | 手机看片福利在线 | 亚洲av人人夜夜澡人人 | 国产精品一区二区久久国产 | 亚洲色成人一区二区三区小说 | 麻豆一区二区在线观看 | 一呦二呦三呦精品网站 | 在线免费观看网站入口在哪 | 欧美老女人性生活视频 | 狠狠干干干| 一本在线免费视频 | 久久午夜无码鲁丝片午夜精品 | 中文久久乱码一区二区 | 国产一区网站 | 久久精品久久久久 | 97人人人| 亚洲黄色小说网 | 夜夜骑夜夜操 | 中文字幕 欧美激情 | 黄网址在线 | 91成人动漫| 国产精品调教 | 诱人的乳峰奶水hd | 亚洲国产福利 | 国语对白一区二区三区 | 黄色aaa大片 | 精品九九九九九 | 亚洲精品电影 | 久久精品在线免费观看 | 啊av在线| 成人理论视频 | 大陆av在线播放 | 亚洲精品毛片av | 亚洲制服丝袜一区 | 亚洲综合自拍偷拍 | 成人免费看高清电影在线观看 | 国模大尺度自拍 | 91精品国产综合久久福利 | 强行挺进白丝老师里呻吟 | 黄色片在线免费 | 日本人妻熟妇久久久久久 | 99精品一级欧美片免费播放 | 国产码视频 | 国产影视一区二区三区 | 久久99国产精品视频 | 极品色av影院 | 久久久精品91 | 亚洲国产欧美在线观看 | 婷婷综合六月 | 麻豆国产91在线播放 | www.狠狠爱 | 2019天天操| 少妇性bbb搡bbb爽爽爽欧美 | 女人下面喷水视频 | 超碰在线亚洲 | 精品无人国产偷自产在线 | av大片在线播放 | 国产香蕉精品 | 色臀 | 欧美中文在线观看 | 黑人满足娇妻6699xx | 中国黄色一级毛片 | 欧美三级视频网站 | 日日夜夜操av | 超碰激情在线 | 久久你懂的 | 久久精品视频国产 | 91caob|