python excel的处理-openpyxl

python处理excel的模块有很多,这里只介绍2种openpyxl 和 pandas

openpyxl

python很多处理excel的模块支持2003,对2007的模块不是太友善。而openpyxl弥补这个遗憾。但是由于这个模块有自愿者维护的,有些功能还是不完成,但这个模块还是一直处理维护中的模块,所以功能会越来越强大。

openpyxl不是python自带的处理excel的模块,所以需要安装openpyxl的包.

pip install openpyxl

创建文档

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

其中Workbook()使用workbook获取一个实例,这个实例需要调用save()函数保存到磁盘上,如果不新建工作表sheet,默认显示一张title为sheet的工作表,最后一定使用save方法序列化到本地。

Workbook对象的方法使用的实例

方法名 具体用法
create_sheet(self, title=None, index=None) 创建一个sheet表格,title为sheet的名称,index表示插入的位置,默认插入到最后
add_named_style(self, style) 添加样式
get_sheet_by_name(self, name) 返回获取工作表的名字,可以指定的表格操作
def active(self, *value) 激活当前的表格
remove(value) 删除指定的表格
close() 对于只读或者只写的表格,可以使用这个方法关闭

Workbook对象使用方法
1、add_named_style(),添加样式

# 指定一个样式
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)
#激活当前表格
ws = wb.active
#指定区域显示该样式
ws['A1'].style = highlight

2、创建表格

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对象
方法一,使用active ,如果不指定下标,默认是0(第一张表格)

#指定表格的下标
wb.active =1
#获取Worksheet对象
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、获取一列数据(所有有数据的行)

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

4、获取一行的数据(所有有数据的列)

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

5、获取指定的cell的值

print(ws['A5'].value)

6、cell通过坐标获取
cell(self, coordinate=None, row=None, column=None,value=None)

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

7、写入数据
a、不指定区域的话,默认写到最后有数据的行的下一行,例如第2行有数据,那么下次执行append的时候,数据插入第三行

wb= load_workbook('test2.xlsx')
wb.active =1
ws=wb.active
ws.append(value for value in ['苹果','雪梨','青苹果','柠檬'])

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

b、指定某个单元格,例如把雪梨改为桃子,只需要把append的改为下列就行

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

cell方法中的函数row,column的值默认从1开始

ws.cell(row =1,column=3,value='哈密瓜')
Paste_Image.png
设置样式

设置excel字体样式、单元格样式等,使用的是openpyxl.styles模块。
Styles是用于改变你的希望显示的数据的样式。也可以用于设置指定的单元格或单元区域的数字格式。
Styles能够提供的功能有:
1、font to set font size, color, underlining, etc.(能够设定字体的大小、颜色、下划线等属性)
2、fill to set a pattern or color gradient(能够设置单元格的填充样式或颜色渐变)
3、border to set borders on a cell(能够设置单元格的边框)
4、cell alignment(能够设置单元格的对齐)
5、protection(能够设置访问限制)

font = Font(
# name = '微软雅黑',
size = 15,
bold = True,
italic = False,
vertAlign = None,
underline = 'none',
strike = False,
color = 'FF008B00'
)
# 设置单元格的填充样式或者渐变颜色
fill = PatternFill(
fill_type = None,
start_color = 'FFFF3030',
end_color = 'FF000000'
)
# 设置单元格的对齐
alignment = Alignment(
horizontal = 'general',
vertical = 'bottom',
text_rotation = 0,
wrap_text = False,
shrink_to_fit = False,
indent = 0
)
# 设置访问限制
protection = Protection(locked = True,
hidden = False)
TM
PDF Editor
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容