openpyxl操作excel
【转】
openpyxl库可以读写xlsx格式的文件,对于xls旧格式的文件只能用xlrd读,xlwt写来完成了。
python有很多模块都是用来操作excel的,比如xlrd,xlwt,pyExcelerator。用着很方便,但是问题是,只能支持到 excel2003。虽然一般的应用其实足够了,但是如果遇到了导出大量数据(超过65535条)的需求时,excel2003就不够用了。所以我就只好 去找一个能支持excel2007的模块,google了一下,发现了这个openpyxl。
创建一个工作簿
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
openpyxl操作excel的更多相关文章
- python openpyxl 操作 excel
初识与安装 Openpyxl is a Python library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files. 安装 ...
- python用openpyxl操作excel
python操作excel方法 1)自身有Win32 COM操作office但讲不清楚,可能不支持夸平台,linux是否能用不清楚,其他有专业处理模块,如下 2)xlrd:(读excel)表,xlrd ...
- python通过openpyxl操作excel
python 对Excel操作常用的主要有xlwt.xlrd.openpyxl ,前者xlwt主要适合于对后缀为xls比较进行写入,而openpyxl主要是针对于Excel 2007 以上版本进行操作 ...
- 用python库openpyxl操作excel,从源excel表中提取信息复制到目标excel表中
现代生活中,我们很难不与excel表打交道,excel表有着易学易用的优点,只是当表中数据量很大,我们又需要从其他表册中复制粘贴一些数据(比如身份证号)的时候,我们会越来越倦怠,毕竟我们不是机器,没法 ...
- python使用openpyxl操作excel总结
安装openpyxl pip install openpyxl 简单示例 from openpyxl import Workbook #创建一个工作薄对象,也就是创建一个excel文档 wb = Wo ...
- Python使用openpyxl操作excel表格
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 ht ...
- python库openpyxl操作excel
废话不多说,看代码,不懂的留言. from openpyxl import * class ExcelUtil: ''' 读取excel文件内容''' def create_work_book(sel ...
- Python学习笔记_使用openpyxl操作Excel,在同一个文件里复制某一个sheet
应用场景:定制一个Excel模板文件,其中定义了一个模板Sheet,以此模板文件里的模板sheet为样例,制作报表,里面有不止一个模板样例Sheet 一.软件环境: 1.OS:Win10 64位 2. ...
- 利用Python openpyxl操作Excel
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = ...
随机推荐
- [vijos1246]文科生的悲哀(二)
[vijos1246]文科生的悲哀(二) 试题描述 化学不及格的Matrix67无奈选择了文科.他必须硬着头皮艰难地进行着文科的学习. 这学期的政治.历史和地理课本各有n章.每一科的教学必须按章节从前 ...
- [POJ2446] Chessboard(二分图最大匹配-匈牙利算法)
传送门 把所有非障碍的相邻格子彼此连一条边,然后求二分图最大匹配,看 tot * 2 + k 是否等于 n * m 即可. 但是连边不能重复,比如 a 格子 和 b 格子 相邻,不能 a 连 b ,b ...
- 潜伏者(codevs 1171)
题目描述 Description [问题描述]R 国和S 国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动.历尽艰险后,潜伏于 S 国的R 国间谍小C 终于摸清了S 国军用密码的编码规则:1. ...
- Assigning to "id<CALayerDelegate> _Nullable" from incompatible type "ZXCapture *const __strong" 的警告提示信息
该警告提示信息,是说,设置了代理对象,但是并没有继承它的代理.下图中,可以看出,警告信息提示我们没有继承“CALayerDelegate”的代理. 解决方法,很简单,(在 @interface 文件中 ...
- SOJ 4467 easyproblem 2【欧拉函数 最大公因数和】
这题wa的莫名其妙,郁闷了一下午,队友暴力一发跟我答案也是一样.后来队友说试试把%I64d换成%lld,果然一下ac...(暴露了在soj做题少.. ac之后排在ranklist的最后一名...目前也 ...
- POJ 2488 A Knight's Journey【DFS】
补个很久之前的题解.... 题目链接: http://poj.org/problem?id=2488 题意: 马走"日"字,让你为他设计一条道路,走遍所有格,并输出字典序最小的一条 ...
- 3469 [POI2008]BLO-Blockade
洛谷—— P3469 [POI2008]BLO-Blockade 题目描述 There are exactly towns in Byteotia. Some towns are connected ...
- Java日志框架-Logback手册中文版以及官方配置文档教程
Logback手册中文版:(链接: https://pan.baidu.com/s/1bpMyasR 密码: 6u5c),虽然版本有点旧,但是大体意思差不多,先用中文版了解个大概,然后一切最新的配置以 ...
- Win7中你所应该知道的强制计划关机操作
有时候更新系统补丁时,需要很长时间,为了能让电脑在你晚上睡觉后,扔然能做些枯燥费时类的这种工作,你可以用到强制计划关机.cmd命令是: shutdown -f -s -t 3600 上面的意思是,强制 ...
- js中的自定义异常处理函数
1. Can I suppress JavaScript error messages? 2. Can I set up my own JavaScript error handler? 3. Can ...