python excel的處理-openpyxl

python處理excel的模塊有很多,這里只介紹2種openpyxl 和 pandas

openpyxl

python很多處理excel的模塊支持2003杜窄,對(duì)2007的模塊不是太友善利耍。而openpyxl彌補(bǔ)這個(gè)遺憾蚌本。但是由于這個(gè)模塊有自愿者維護(hù)的,有些功能還是不完成隘梨,但這個(gè)模塊還是一直處理維護(hù)中的模塊程癌,所以功能會(huì)越來(lái)越強(qiáng)大。

openpyxl不是python自帶的處理excel的模塊轴猎,所以需要安裝openpyxl的包.

pip install openpyxl

創(chuàng)建文檔

from openpyxl import Workbook
wb= Workbook()
wb.save('test2.xlsx')

其中Workbook()使用workbook獲取一個(gè)實(shí)例嵌莉,這個(gè)實(shí)例需要調(diào)用save()函數(shù)保存到磁盤(pán)上,如果不新建工作表sheet捻脖,默認(rèn)顯示一張title為sheet的工作表锐峭,最后一定使用save方法序列化到本地。

Workbook對(duì)象的方法使用的實(shí)例

方法名 具體用法
create_sheet(self, title=None, index=None) 創(chuàng)建一個(gè)sheet表格可婶,title為sheet的名稱只祠,index表示插入的位置,默認(rèn)插入到最后
add_named_style(self, style) 添加樣式
get_sheet_by_name(self, name) 返回獲取工作表的名字扰肌,可以指定的表格操作
def active(self, *value) 激活當(dāng)前的表格
remove(value) 刪除指定的表格
close() 對(duì)于只讀或者只寫(xiě)的表格,可以使用這個(gè)方法關(guān)閉

Workbook對(duì)象使用方法
1熊杨、add_named_style()曙旭,添加樣式

# 指定一個(gè)樣式
highlight = NamedStyle(name="highlight")
highlight.font=Font(bold=True,size=30)
bd = Side(style='thick', color="000000")
highlight.border = Border(left=bd, top=bd, right=bd, bottom=bd)
# 添加到樣式表
wb.add_named_style(highlight)
#激活當(dāng)前表格
ws = wb.active
#指定區(qū)域顯示該樣式
ws['A1'].style = highlight

2、創(chuàng)建表格

wb.create_sheet("one")
wb.create_sheet("two",0)

3晶府、移除表格

wb.remove(wb.get_sheet_by_name('one'))

4桂躏、保存表格

wb.save('test2.xlsx')

操作表格-Worksheet
1、獲取Worksheet對(duì)象
方法一川陆,使用active 剂习,如果不指定下標(biāo),默認(rèn)是0(第一張表格)

#指定表格的下標(biāo)
wb.active =1
#獲取Worksheet對(duì)象
ws=wb.active

方法二:使用get_sheet_by_name() 方法

sheetnames = wb.get_sheet_names()  
ws = wb.get_sheet_by_name(sheetnames[0]) 

2较沪、title改名字

ws.title ='limie'

3鳞绕、獲取一列數(shù)據(jù)(所有有數(shù)據(jù)的行)

print([j.value for i in ws.rows for j in i])

4、獲取一行的數(shù)據(jù)(所有有數(shù)據(jù)的列)

print([j.value for i in ws.columns for j in i])

5尸曼、獲取指定的cell的值

print(ws['A5'].value)

6们何、cell通過(guò)坐標(biāo)獲取
cell(self, coordinate=None, row=None, column=None,value=None)

ws.cell(row = 2, column = 3)

7、寫(xiě)入數(shù)據(jù)
a控轿、不指定區(qū)域的話,默認(rèn)寫(xiě)到最后有數(shù)據(jù)的行的下一行冤竹,例如第2行有數(shù)據(jù)拂封,那么下次執(zhí)行append的時(shí)候,數(shù)據(jù)插入第三行

wb= load_workbook('test2.xlsx')
wb.active =1
ws=wb.active
ws.append(value for value in ['蘋(píng)果','雪梨','青蘋(píng)果','檸檬'])

wb.save('test2.xlsx')
Paste_Image.png

b鹦蠕、指定某個(gè)單元格冒签,例如把雪梨改為桃子,只需要把a(bǔ)ppend的改為下列就行

ws['B1']='桃子'
Paste_Image.png

cell方法中的函數(shù)row,column的值默認(rèn)從1開(kāi)始

ws.cell(row =1,column=3,value='哈密瓜')
Paste_Image.png
設(shè)置樣式

設(shè)置excel字體樣式钟病、單元格樣式等萧恕,使用的是openpyxl.styles模塊。
Styles是用于改變你的希望顯示的數(shù)據(jù)的樣式档悠。也可以用于設(shè)置指定的單元格或單元區(qū)域的數(shù)字格式廊鸥。
Styles能夠提供的功能有:
1、font to set font size, color, underlining, etc.(能夠設(shè)定字體的大小辖所、顏色惰说、下劃線等屬性)
2、fill to set a pattern or color gradient(能夠設(shè)置單元格的填充樣式或顏色漸變)
3缘回、border to set borders on a cell(能夠設(shè)置單元格的邊框)
4吆视、cell alignment(能夠設(shè)置單元格的對(duì)齊)
5、protection(能夠設(shè)置訪問(wèn)限制)

font = Font(
# name = '微軟雅黑',
size = 15,
bold = True,
italic = False,
vertAlign = None,
underline = 'none',
strike = False,
color = 'FF008B00'
)
# 設(shè)置單元格的填充樣式或者漸變顏色
fill = PatternFill(
fill_type = None,
start_color = 'FFFF3030',
end_color = 'FF000000'
)
# 設(shè)置單元格的對(duì)齊
alignment = Alignment(
horizontal = 'general',
vertical = 'bottom',
text_rotation = 0,
wrap_text = False,
shrink_to_fit = False,
indent = 0
)
# 設(shè)置訪問(wèn)限制
protection = Protection(locked = True,
hidden = False)
TM
PDF Editor
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末酥宴,一起剝皮案震驚了整個(gè)濱河市啦吧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拙寡,老刑警劉巖授滓,帶你破解...
    沈念sama閱讀 212,599評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異肆糕,居然都是意外死亡般堆,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)诚啃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)淮摔,“玉大人,你說(shuō)我怎么就攤上這事始赎『统龋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,084評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵造垛,是天一觀的道長(zhǎng)魔招。 經(jīng)常有香客問(wèn)我,道長(zhǎng)筋搏,這世上最難降的妖魔是什么仆百? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,708評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮奔脐,結(jié)果婚禮上俄周,老公的妹妹穿的比我還像新娘吁讨。我一直安慰自己,他們只是感情好峦朗,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布建丧。 她就那樣靜靜地躺著,像睡著了一般波势。 火紅的嫁衣襯著肌膚如雪翎朱。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 50,021評(píng)論 1 291
  • 那天尺铣,我揣著相機(jī)與錄音拴曲,去河邊找鬼。 笑死凛忿,一個(gè)胖子當(dāng)著我的面吹牛澈灼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播店溢,決...
    沈念sama閱讀 39,120評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼叁熔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了床牧?” 一聲冷哼從身側(cè)響起荣回,我...
    開(kāi)封第一講書(shū)人閱讀 37,866評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎戈咳,沒(méi)想到半個(gè)月后心软,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,308評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡著蛙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評(píng)論 2 327
  • 正文 我和宋清朗相戀三年糯累,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片册踩。...
    茶點(diǎn)故事閱讀 38,768評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖效拭,靈堂內(nèi)的尸體忽然破棺而出暂吉,到底是詐尸還是另有隱情,我是刑警寧澤缎患,帶...
    沈念sama閱讀 34,461評(píng)論 4 333
  • 正文 年R本政府宣布慕的,位于F島的核電站,受9級(jí)特大地震影響挤渔,放射性物質(zhì)發(fā)生泄漏肮街。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評(píng)論 3 317
  • 文/蒙蒙 一判导、第九天 我趴在偏房一處隱蔽的房頂上張望嫉父。 院中可真熱鬧沛硅,春花似錦、人聲如沸绕辖。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,850評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)仪际。三九已至围小,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間树碱,已是汗流浹背肯适。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,082評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留成榜,地道東北人框舔。 一個(gè)月前我還...
    沈念sama閱讀 46,571評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像伦连,于是被迫代替她去往敵國(guó)和親雨饺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容