Python处理Excel文档之openpyxl

****openpyxl简介**** 还是简单一句:顾名思义,openpyxl就是一个处理excel文档的一个python库。


****openpyxl信息**** openpyxl地址传送 openpyxl依赖jdcal以及et_xmlfile依赖库 jdcal地址 et_xmlfile地址


****openpyxl安装****

#pip安装
sudo pip install openpyxl
#源码编译
python setup.py install

对于如何使用pip安装传送pip教程,源码编译安装呢,下载路径已经在上面了 每次编辑到关于安装的好浪费时间,but~~


创建一个工作簿

wb = workbook()

加载已存在excel文件

filePath = "/data/alic/demo.xlsx"
wb = load_workbook(filename=filePath)

选中sheet

# 选择默认的sheet
ws = wb.active

# 通过索引加载sheet index从0开始
ws = wb.worksheets[index]

# 通过sheet名加载 感觉有问题,中文?
ws = wb.get_sheet_by_name()
# 这个没有问题
ws = wb["name"]

创建sheet

#默认插在工作簿末尾
ws = wb.create_sheet() 
# or
# 插入在工作簿的指定位置位置 index从0开始
ws = wb.create_sheet(index) 

更改sheet的名字

# 新建默认的话 sheet0 sheet1 ...
ws.title = "hello"

获取sheet的名称

sheet_name = wb.get_sheet_names()
print sheet_name
# or
for sheet in wb:
    print sheet.title

单元格操作

# 获取一个单元格的value
value = ws['B2']
# or
value = ws.cell('B2')
# or 非常推荐 遍历都很方便
value = ws.cell(row=1,column=2)

#获取多个单元格
cells = ws['A1':'E4']

#为一个单元格赋值
 ws['B2'] = "alic"
# or
ws.cell('B2') = "hello"
# or 非常推荐 遍历都很方便
ws.cell(row=1,column=2) = "value"

# 遍历多个单元格
for row in ws.iter_rows('A1:D2'):
      for cell in row: 
            print cell

获取当前工作表的已有数据的对象

# 所有行
ws.rows

# 所有列
ws.columns

获取当前工作表的数据长度与宽度

row_length = len(ws.rows)
cloumn_length = len(ws.columns)
# 推荐 centOS上面的会报错
row-length = len(list(ws.rows))
cloumn_length = len(list(ws.rows))

保存文件

# 注意要是加载进来的路径与保存的路径一致文件将会被覆盖
wb.save(path)

# 也可以将文件作为模板保存  as_template默认为False
wb.save('document_template.xltx', as_template=True)

简单的样式处理

# 文本对齐方式
align = Alignment(horizontal='center', vertical='center')
ws.cell(row=deng_lu_taskRow, column=index + 3).alignment = align

# 字体大小
font = Font(size=10)
ws.cell(row=taskRow, column=column).font = font

具体样式Click


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

巧用linux命令做图片下载器(r4笔记第7天)

在平时上网的时候,发现有些图片不错,想保存到本地,一个一个的保存确实够费劲的,如果把整个网页都保存了,有些又是自己不需要的,就算下载下来了,还得从上百个网页元素...

3536
来自专栏Web项目聚集地

IDEA入门级教程(文末常用快捷键)

IDEA相对于eclipse来说最大的优点就是它比eclipse聪明。聪明到什么程度呢?我们先来看几个简单的例子。

1063
来自专栏无所事事者爱嘲笑

ionic2 处理android硬件返回按钮

1244
来自专栏菩提树下的杨过

mac: vmware fusion中cent os启动假死的解决办法

环境: mac os X 10.9.2 + vmware 6.0.2 + cent OS 6.5 minimal 现象: Booting CentOS (2...

1895
来自专栏云计算教程系列

优化SEO?提升你的PageSpeed评分吧!

Nginx在处理网页请求时速度非常快,但是默认的Nginx配置也会导致PageSpeed评分降低。Google会将您网站的速度作为确定网站SEO位置的关键因素。

2138
来自专栏Echo is learning

centos 问题解决记录

1113
来自专栏bboysoul

一句python代码让局域网中任何人都能访问你的文件

说真的,上面个标题有点长,但是我真的不能在精简了,有时候在局域网中要传输一些文件,当然你可以使用scp命令或者ftp,但是这都太麻烦了,有没有一种简单到不行的办...

793
来自专栏Golang语言社区

Go语言中Socket通信TCP服务端

1、用法:   (1)定义远程IP地址。使用net.ResolveTCPAddr()方法,定义一个TCP地址,做为本机监听地址。   (2)使用net.List...

3719
来自专栏FreeBuf

Burpsuite结合SQLMap API产生的批量注入插件(X10)

Tamper:列表中的是sqlmap自带的tamper,输入框中可填入自定义的tamper使用 ”,“逗号分割 。

1196
来自专栏WD学习记录

MVC学习笔记(一)

MVC 是用于构建 web 应用程序的一种框架,使用 MVC (Model View Controller) 设计:

942

扫码关注云+社区